From 162aa785e84690369595ad2deb6900ed469995a3 Mon Sep 17 00:00:00 2001 From: Rich Lander Date: Thu, 11 Dec 2025 15:13:27 -0800 Subject: [PATCH] Update graphj --- release-notes/10.0/preview/rc2/index.json | 67 +++ release-notes/8.0/8.0.21/index.json | 14 +- release-notes/9.0/9.0.10/index.json | 14 +- release-notes/llms.json | 60 ++- release-notes/queries/acceptance.md | 606 ++++++++++++++++++++++ release-notes/timeline/2016/06/index.json | 1 + release-notes/timeline/2016/09/index.json | 1 + release-notes/timeline/2016/10/index.json | 1 + release-notes/timeline/2016/11/index.json | 1 + release-notes/timeline/2016/12/index.json | 1 + release-notes/timeline/2016/index.json | 5 + release-notes/timeline/2017/03/index.json | 1 + release-notes/timeline/2017/05/index.json | 1 + release-notes/timeline/2017/06/index.json | 1 + release-notes/timeline/2017/08/index.json | 1 + release-notes/timeline/2017/09/index.json | 1 + release-notes/timeline/2017/11/index.json | 1 + release-notes/timeline/2017/12/index.json | 1 + release-notes/timeline/2017/index.json | 7 + release-notes/timeline/2018/01/index.json | 1 + release-notes/timeline/2018/02/index.json | 1 + release-notes/timeline/2018/03/index.json | 1 + release-notes/timeline/2018/04/index.json | 1 + release-notes/timeline/2018/05/index.json | 1 + release-notes/timeline/2018/06/index.json | 1 + release-notes/timeline/2018/07/index.json | 1 + release-notes/timeline/2018/08/index.json | 1 + release-notes/timeline/2018/09/index.json | 1 + release-notes/timeline/2018/10/index.json | 1 + release-notes/timeline/2018/11/index.json | 1 + release-notes/timeline/2018/12/index.json | 1 + release-notes/timeline/2018/index.json | 12 + release-notes/timeline/2019/01/index.json | 1 + release-notes/timeline/2019/02/index.json | 1 + release-notes/timeline/2019/03/index.json | 1 + release-notes/timeline/2019/04/index.json | 1 + release-notes/timeline/2019/05/index.json | 1 + release-notes/timeline/2019/06/index.json | 1 + release-notes/timeline/2019/07/index.json | 1 + release-notes/timeline/2019/08/index.json | 1 + release-notes/timeline/2019/09/index.json | 1 + release-notes/timeline/2019/10/index.json | 1 + release-notes/timeline/2019/11/index.json | 1 + release-notes/timeline/2019/12/index.json | 1 + release-notes/timeline/2019/index.json | 12 + release-notes/timeline/2020/01/index.json | 1 + release-notes/timeline/2020/02/index.json | 1 + release-notes/timeline/2020/03/index.json | 1 + release-notes/timeline/2020/04/index.json | 1 + release-notes/timeline/2020/05/index.json | 1 + release-notes/timeline/2020/06/index.json | 1 + release-notes/timeline/2020/07/index.json | 1 + release-notes/timeline/2020/08/index.json | 1 + release-notes/timeline/2020/09/index.json | 1 + release-notes/timeline/2020/10/index.json | 1 + release-notes/timeline/2020/11/index.json | 1 + release-notes/timeline/2020/12/index.json | 1 + release-notes/timeline/2020/index.json | 12 + release-notes/timeline/2021/01/index.json | 1 + release-notes/timeline/2021/02/index.json | 1 + release-notes/timeline/2021/03/index.json | 1 + release-notes/timeline/2021/04/index.json | 1 + release-notes/timeline/2021/05/index.json | 1 + release-notes/timeline/2021/06/index.json | 1 + release-notes/timeline/2021/07/index.json | 1 + release-notes/timeline/2021/08/index.json | 1 + release-notes/timeline/2021/09/index.json | 1 + release-notes/timeline/2021/10/index.json | 1 + release-notes/timeline/2021/11/index.json | 1 + release-notes/timeline/2021/12/index.json | 1 + release-notes/timeline/2021/index.json | 12 + release-notes/timeline/2022/02/index.json | 1 + release-notes/timeline/2022/03/index.json | 1 + release-notes/timeline/2022/04/index.json | 1 + release-notes/timeline/2022/05/index.json | 1 + release-notes/timeline/2022/06/index.json | 1 + release-notes/timeline/2022/07/index.json | 1 + release-notes/timeline/2022/08/index.json | 1 + release-notes/timeline/2022/09/index.json | 1 + release-notes/timeline/2022/10/index.json | 1 + release-notes/timeline/2022/11/index.json | 1 + release-notes/timeline/2022/12/index.json | 1 + release-notes/timeline/2022/index.json | 11 + release-notes/timeline/2023/01/index.json | 1 + release-notes/timeline/2023/02/index.json | 1 + release-notes/timeline/2023/03/index.json | 1 + release-notes/timeline/2023/04/index.json | 1 + release-notes/timeline/2023/05/index.json | 1 + release-notes/timeline/2023/06/index.json | 1 + release-notes/timeline/2023/07/index.json | 1 + release-notes/timeline/2023/08/index.json | 1 + release-notes/timeline/2023/09/index.json | 1 + release-notes/timeline/2023/10/index.json | 1 + release-notes/timeline/2023/11/index.json | 1 + release-notes/timeline/2023/index.json | 11 + release-notes/timeline/2024/01/index.json | 1 + release-notes/timeline/2024/02/index.json | 1 + release-notes/timeline/2024/03/index.json | 1 + release-notes/timeline/2024/04/index.json | 1 + release-notes/timeline/2024/05/index.json | 1 + release-notes/timeline/2024/06/index.json | 1 + release-notes/timeline/2024/07/index.json | 1 + release-notes/timeline/2024/08/index.json | 1 + release-notes/timeline/2024/09/index.json | 1 + release-notes/timeline/2024/10/index.json | 1 + release-notes/timeline/2024/11/index.json | 1 + release-notes/timeline/2024/12/index.json | 1 + release-notes/timeline/2024/index.json | 12 + release-notes/timeline/2025/01/index.json | 1 + release-notes/timeline/2025/02/index.json | 1 + release-notes/timeline/2025/03/index.json | 1 + release-notes/timeline/2025/04/index.json | 1 + release-notes/timeline/2025/05/index.json | 1 + release-notes/timeline/2025/06/index.json | 1 + release-notes/timeline/2025/07/index.json | 1 + release-notes/timeline/2025/08/index.json | 1 + release-notes/timeline/2025/09/index.json | 1 + release-notes/timeline/2025/10/index.json | 23 +- release-notes/timeline/2025/11/index.json | 1 + release-notes/timeline/2025/12/index.json | 1 + release-notes/timeline/2025/index.json | 12 + 121 files changed, 971 insertions(+), 24 deletions(-) create mode 100644 release-notes/queries/acceptance.md diff --git a/release-notes/10.0/preview/rc2/index.json b/release-notes/10.0/preview/rc2/index.json index f5feccd66..ece872cf4 100644 --- a/release-notes/10.0/preview/rc2/index.json +++ b/release-notes/10.0/preview/rc2/index.json @@ -7,6 +7,10 @@ "support_phase": "go-live", "security": true, "cve_count": 2, + "cve_records": [ + "CVE-2025-55247", + "CVE-2025-55315" + ], "sdk_version": "10.0.100-rc.2.25502.107", "sdk_feature_bands": [ "10.0.100-rc.2.25502.107" @@ -35,6 +39,21 @@ "href": "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/index.json", "title": "Release index" }, + "cve-json": { + "href": "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/timeline/2025/10/cve.json", + "title": "CVE records (JSON)", + "type": "application/json" + }, + "cve-markdown": { + "href": "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/timeline/2025/10/cve.md", + "title": "CVE records (JSON)", + "type": "application/markdown" + }, + "cve-markdown-rendered": { + "href": "https://github.com/dotnet/core/blob/main/release-notes/timeline/2025/10/cve.md", + "title": "CVE records (JSON) (Rendered)", + "type": "application/markdown" + }, "release-json": { "href": "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/10.0/preview/rc2/release.json", "title": "10.0.0-rc.2 Release Information", @@ -97,6 +116,54 @@ } } } + ], + "disclosures": [ + { + "id": "CVE-2025-55247", + "title": ".NET Denial of Service Vulnerability", + "_links": { + "self": { + "href": "https://github.com/dotnet/announcements/issues/370" + } + }, + "cvss_score": 7.3, + "cvss_severity": "HIGH", + "disclosure_date": "2025-10-14", + "affected_releases": [ + "10.0", + "9.0", + "8.0" + ], + "affected_products": [ + "dotnet-sdk" + ], + "platforms": [ + "linux" + ] + }, + { + "id": "CVE-2025-55315", + "title": ".NET Security Feature Bypass Vulnerability", + "_links": { + "self": { + "href": "https://github.com/dotnet/announcements/issues/371" + } + }, + "cvss_score": 9.9, + "cvss_severity": "CRITICAL", + "disclosure_date": "2025-10-14", + "affected_releases": [ + "10.0", + "9.0", + "8.0" + ], + "affected_products": [ + "dotnet-aspnetcore" + ], + "platforms": [ + "all" + ] + } ] } } diff --git a/release-notes/8.0/8.0.21/index.json b/release-notes/8.0/8.0.21/index.json index 34a7420cc..5d05dc682 100644 --- a/release-notes/8.0/8.0.21/index.json +++ b/release-notes/8.0/8.0.21/index.json @@ -181,8 +181,9 @@ "cvss_severity": "HIGH", "disclosure_date": "2025-10-14", "affected_releases": [ - "8.0", - "9.0" + "10.0", + "9.0", + "8.0" ], "affected_products": [ "dotnet-sdk" @@ -212,8 +213,8 @@ "cvss_severity": "MEDIUM", "disclosure_date": "2025-10-14", "affected_releases": [ - "8.0", - "9.0" + "9.0", + "8.0" ], "affected_products": [ "dotnet-runtime" @@ -243,8 +244,9 @@ "cvss_severity": "CRITICAL", "disclosure_date": "2025-10-14", "affected_releases": [ - "8.0", - "9.0" + "10.0", + "9.0", + "8.0" ], "affected_products": [ "dotnet-aspnetcore" diff --git a/release-notes/9.0/9.0.10/index.json b/release-notes/9.0/9.0.10/index.json index 7d2b88864..48860f367 100644 --- a/release-notes/9.0/9.0.10/index.json +++ b/release-notes/9.0/9.0.10/index.json @@ -158,8 +158,9 @@ "cvss_severity": "HIGH", "disclosure_date": "2025-10-14", "affected_releases": [ - "8.0", - "9.0" + "10.0", + "9.0", + "8.0" ], "affected_products": [ "dotnet-sdk" @@ -189,8 +190,8 @@ "cvss_severity": "MEDIUM", "disclosure_date": "2025-10-14", "affected_releases": [ - "8.0", - "9.0" + "9.0", + "8.0" ], "affected_products": [ "dotnet-runtime" @@ -220,8 +221,9 @@ "cvss_severity": "CRITICAL", "disclosure_date": "2025-10-14", "affected_releases": [ - "8.0", - "9.0" + "10.0", + "9.0", + "8.0" ], "affected_products": [ "dotnet-aspnetcore" diff --git a/release-notes/llms.json b/release-notes/llms.json index 7045369df..9b8b0e36d 100644 --- a/release-notes/llms.json +++ b/release-notes/llms.json @@ -60,6 +60,8 @@ "security": false, "cve_count": 0, "support_phase": "active", + "supported": true, + "eol_date": "2028-11-14", "sdk_version": "10.0.101", "_links": { "self": { @@ -68,6 +70,14 @@ "latest-security": { "href": "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/10.0/preview/rc2/index.json", "title": "10.0.0-rc.2" + }, + "release-major": { + "href": "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/10.0/index.json", + "title": ".NET 10.0" + }, + "latest-sdk": { + "href": "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/10.0/sdk/index.json", + "title": ".NET 10.0 SDK Index" } } }, @@ -81,6 +91,8 @@ "security": false, "cve_count": 0, "support_phase": "active", + "supported": true, + "eol_date": "2026-11-10", "sdk_version": "9.0.308", "_links": { "self": { @@ -89,6 +101,14 @@ "latest-security": { "href": "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/9.0/9.0.10/index.json", "title": "9.0.10" + }, + "release-major": { + "href": "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/9.0/index.json", + "title": ".NET 9.0" + }, + "latest-sdk": { + "href": "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/9.0/sdk/index.json", + "title": ".NET 9.0 SDK Index" } } }, @@ -102,6 +122,8 @@ "security": false, "cve_count": 0, "support_phase": "active", + "supported": true, + "eol_date": "2026-11-10", "sdk_version": "8.0.416", "_links": { "self": { @@ -110,24 +132,53 @@ "latest-security": { "href": "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/8.0/8.0.21/index.json", "title": "8.0.21" + }, + "release-major": { + "href": "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/8.0/index.json", + "title": ".NET 8.0" + }, + "latest-sdk": { + "href": "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/8.0/sdk/index.json", + "title": ".NET 8.0 SDK Index" } } } ], "latest_security_month": [ + { + "release": "10.0", + "release_type": "lts", + "version": "10.0.0-rc.2", + "sdk_version": "10.0.100-rc.2.25502.107", + "date": "2025-10-14T00:00:00+00:00", + "year": "2025", + "month": "10", + "security": true, + "cve_count": 2, + "cve_records": [ + "CVE-2025-55247", + "CVE-2025-55315" + ], + "_links": { + "self": { + "href": "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/timeline/2025/10/index.json" + } + } + }, { "release": "9.0", "release_type": "sts", "version": "9.0.10", "sdk_version": "9.0.306", + "date": "2025-10-14T00:00:00+00:00", "year": "2025", "month": "10", "security": true, "cve_count": 3, "cve_records": [ "CVE-2025-55247", - "CVE-2025-55248", - "CVE-2025-55315" + "CVE-2025-55315", + "CVE-2025-55248" ], "_links": { "self": { @@ -140,14 +191,15 @@ "release_type": "lts", "version": "8.0.21", "sdk_version": "8.0.415", + "date": "2025-10-14T00:00:00+00:00", "year": "2025", "month": "10", "security": true, "cve_count": 3, "cve_records": [ "CVE-2025-55247", - "CVE-2025-55248", - "CVE-2025-55315" + "CVE-2025-55315", + "CVE-2025-55248" ], "_links": { "self": { diff --git a/release-notes/queries/acceptance.md b/release-notes/queries/acceptance.md new file mode 100644 index 000000000..be0f4d93a --- /dev/null +++ b/release-notes/queries/acceptance.md @@ -0,0 +1,606 @@ +# Acceptance Criteria for .NET Release Metadata Graph + +This document defines the acceptance criteria for the hal-index schema design. It establishes a prioritized set of query types, explicit technical assumptions, and quantitative targets that validate the design decisions. + +See [overview.md](overview.md) for design context, file characteristics, and link relation discovery. + +## Purpose + +The hal-index schema exists to serve specific use cases better than the existing releases-index. This document: + +1. **Prioritizes query types** — establishes which queries matter most, so design tradeoffs can be evaluated against priorities +2. **Sets quantitative targets** — provides absolute thresholds for data efficiency, with releases-index comparisons as secondary context +3. **Makes assumptions explicit** — surfaces the technical and scenario assumptions underlying the design +4. **Enables principled feedback** — critics must engage with priorities before debating ergonomics + +## Consumer Priorities + +The schema serves multiple consumers with different needs. Design decisions favor higher-priority consumers when tradeoffs are required. + +| Priority | Consumer | Characteristics | +|----------|----------|-----------------| +| 1 | **Cloud-native tooling** | Mission-critical, CDN-cached, requires cache coherency | +| 2 | **Security operations** | Time-sensitive CVE queries, compliance reporting | +| 3 | **Developer tooling** | Upgrade planning, breaking changes, TFM selection | +| 4 | **AI assistants** | LLM consumption via `llms.json`, tolerates more frequent updates | + +The hal-index (`index.json` and related files) applies strict rules to enable aggressive CDN caching and cache coherency for Priority 1-3 consumers. The `llms.json` file intentionally relaxes some of these rules to optimize for AI assistant workflows, accepting more frequent updates in exchange for embedded shortcuts. + +## Query Categories + +Queries are organized by user task, with 2-3 queries per category. CVE analysis has additional depth due to its operational importance. + +### Category 1: Patch Currency and Lifecycle + +*Task: "What patch should I be running? Is my version still supported?"* + +| ID | Query | Target | Fetches | +|----|-------|--------|---------| +| L1 | What is the latest patch for .NET X? | ≤6 KB | 1 | +| L2 | Is .NET X still supported? When does it EOL? | ≤6 KB | 1 | +| L3 | What .NET versions are currently supported? | ≤6 KB | 1 | + +**Design validation:** +- Root index contains `supported`, `eol_date` for each version +- `latest` and `latest_lts` properties enable single-field access +- No patch version numbers in root (would require monthly updates) + +### Category 2: Security Patch Motivation + +*Task: "Should I update? Are there CVEs since I last patched?"* + +| ID | Query | Target | Fetches | +|----|-------|--------|---------| +| M1 | Were there any CVEs fixed in the latest security patch for .NET X? | ≤15 KB | 1-2 | +| M2 | What CVEs have been fixed since [date] for versions I use? | ≤60 KB | 1+n | +| M3 | Is there a CRITICAL severity CVE this month? | ≤15 KB | 2 | + +**Design validation:** +- `llms.json` embeds `latest_security_month[]` with CVE counts and IDs per version +- `prev-security` links enable efficient backward traversal (skips non-security releases) +- CVE severity embedded in month/patch indexes (no external fetch required) + +### Category 3: CVE Deep Analysis + +*Task: "I need details about specific vulnerabilities for compliance or remediation."* + +| ID | Query | Target | Fetches | +|----|-------|--------|---------| +| C1 | What CVEs were fixed in the latest .NET X security patch, with severity and titles? | ≤40 KB | 2-3 | +| C2 | List all HIGH+ severity CVEs in the last 6 months | ≤60 KB | 1+n | +| C3 | What CVEs were disclosed in [month/year] with full details? | ≤35 KB | 2-3 | +| C4 | Which products/components are affected by CVE-XXXX-XXXXX? | ≤20 KB | 2-3 | +| C5 | What are the fix commits for CVE-XXXX-XXXXX? | ≤20 KB | 2-3 | +| C6 | Is runtime version X.Y.Z vulnerable to any known CVEs? | ≤20 KB | 2-3 | + +**Design validation:** +- `_embedded.disclosures[]` in patch/month indexes contains severity, title, affected products, fix commits +- `cve.json` provides deep details (CVSS vectors, CWE, version ranges) when needed +- Pre-computed lookup dictionaries in `cve.json` (`product_cves`, `severity_cves`, `package_cves`) + +### Category 4: Breaking Changes for Upgrade + +*Task: "What will break when I upgrade my app to .NET X?"* + +| ID | Query | Target | Fetches | +|----|-------|--------|---------| +| B1 | How many breaking changes are in .NET X by category? | ≤160 KB | 2-3 | +| B2 | What breaking changes affect [category] (e.g., ASP.NET Core, SDK)? | ≤160 KB | 2-3 | +| B3 | Get documentation URLs for breaking changes in [category] | ≤160 KB | 2-3 | + +**Design validation:** +- `compatibility.json` linked from major version index (not embedded—large payload, infrequent access) +- Pre-computed rollups: `categories`, `impact_breakdown`, `type_breakdown` +- `references[]` includes `documentation-source` type for raw markdown URLs (LLM-friendly) + +### Category 5: Downloads + +*Task: "What do I download?"* + +| ID | Query | Target | Fetches | +|----|-------|--------|---------| +| D1 | Where do I download the latest .NET X SDK? | ≤15 KB | 2 | +| D2 | What are the evergreen (aka.ms) download links for .NET X? | ≤15 KB | 2-3 | + +**Design validation:** +- `manifest.json` links to `downloads-rendered` (dotnet.microsoft.com) +- `sdk/index.json` provides evergreen `aka.ms` links per feature band + +### Category 6: Linux Deployment + +*Task: "Is my distro supported? What packages do I need to install?"* + +These queries integrate with the local system, using `/etc/os-release` to identify the distro. + +| ID | Query | Target | Fetches | +|----|-------|--------|---------| +| X1 | Is my Linux distro supported for .NET X? | ≤20 KB | 2-3 | +| X2 | Generate an `apt-get install` command for .NET X dependencies on my system | ≤35 KB | 3-4 | +| X3 | Is my libc new enough for the latest .NET? | ≤35 KB | 3-4 | +| X4 | Which .NET versions support my OS? | ≤60 KB | 4-6 | + +**Example flow for X2:** + +```bash +# Step 1: Read local OS info +source /etc/os-release +# ID=ubuntu, VERSION_ID=24.04 + +# Step 2: Navigate to os-packages.json +ROOT="https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/index.json" +VERSION_HREF=$(curl -s "$ROOT" | jq -r '._embedded.releases[] | select(.version == "10.0") | ._links.self.href') +MANIFEST_HREF=$(curl -s "$VERSION_HREF" | jq -r '._links["release-manifest"].href') +PACKAGES_HREF=$(curl -s "$MANIFEST_HREF" | jq -r '._links["os-packages-json"].href') + +# Step 3: Generate install command for this distro +curl -s "$PACKAGES_HREF" | jq -r --arg distro "$ID" --arg ver "$VERSION_ID" ' + .distributions[] | select(.name | ascii_downcase == $distro) | + .releases[] | select(.release == $ver) | + "sudo apt-get install -y " + ([.packages[].name] | join(" "))' +# sudo apt-get install -y libc6 libgcc-s1 ca-certificates libssl3t64 libstdc++6 libicu74 tzdata libgssapi-krb5-2 +``` + +**Example flow for X4:** + +```bash +# Step 1: Get local glibc version +GLIBC_VERSION=$(ldd --version 2>&1 | head -1 | grep -oP '\d+\.\d+' | tail -1) +# 2.23 (Ubuntu 16.04) + +# Step 2: Check each supported .NET version's libc requirement +for VERSION in 10.0 9.0 8.0; do + REQUIRED=$(curl -s "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/$VERSION/supported-os.json" | \ + jq -r '.libc[] | select(.name == "glibc") | select(.architectures | index("x64")) | .version') + + if [ "$(printf '%s\n' "$REQUIRED" "$GLIBC_VERSION" | sort -V | head -1)" = "$REQUIRED" ]; then + echo ".NET $VERSION: ✅ Supported (requires glibc $REQUIRED)" + else + echo ".NET $VERSION: ❌ Not supported (requires glibc $REQUIRED)" + fi +done +# .NET 10.0: ❌ Not supported (requires glibc 2.27) +# .NET 9.0: ✅ Supported (requires glibc 2.23) +# .NET 8.0: ✅ Supported (requires glibc 2.23) +``` + +**Design validation:** +- `supported-os.json` lists supported distros with version ranges +- `supported-os.json` includes `libc[]` with minimum version per architecture +- `os-packages.json` provides distro-specific package names (vary by distro: `libssl3t64` on Ubuntu 24.04 vs `openssl-libs` on RHEL) +- Package names are the actual names in distro repos, not generic placeholders +- Supports container Dockerfiles, CI/CD scripts, bare-metal deployment + +### Category 7: SDK Feature Bands + +*Task: "Which SDK should I use? Is my SDK still supported?"* + +| ID | Query | Target | Fetches | +|----|-------|--------|---------| +| S1 | What SDK feature bands are available for .NET X? | ≤10 KB | 2 | +| S2 | Is SDK feature band X.Y.Zxx still supported? | ≤10 KB | 2 | +| S3 | What's the latest SDK in the 9.0.1xx feature band? | ≤10 KB | 2 | + +**Design validation:** +- `sdk/index.json` lists all feature bands with `support_phase` +- Each band has `latest` version and links to downloads +- Supports VS-integrated (1xx) vs standalone (3xx) SDK selection + +### Category 8: TFM Selection for Upgrade + +*Task: "What TFM should I target? How does platform versioning change?"* + +| ID | Query | Target | Fetches | +|----|-------|--------|---------| +| T1 | What TFMs does .NET X support? | ≤25 KB | 2-3 | +| T2 | What Android/iOS platform version does .NET X target? | ≤25 KB | 2-3 | +| T3 | How has the Android TFM platform version changed across .NET versions? | ≤60 KB | 4-6 | + +**Design validation:** +- `target-frameworks.json` linked from major version index +- TFM entries include `platform_version` for mobile platforms +- Enables cross-version comparison for upgrade planning + +### Category 9: Project Health Check (Hybrid) + +*Task: "Is my project's .NET environment current, supported, and secure?"* + +This category combines local system inspection with graph queries to provide a holistic assessment. It's intended for AI assistants and developer tooling that can read local files and execute commands. + +| ID | Query | Target | Fetches | +|----|-------|--------|---------| +| H1 | Is the TFM in my `.csproj` still supported? | ≤10 KB | 1-2 | +| H2 | Are any of my installed SDKs (`dotnet --list-sdks`) EOL or vulnerable? | ≤50 KB | 2-4 | +| H3 | Are any of my installed runtimes (`dotnet --list-runtimes`) EOL or vulnerable? | ≤50 KB | 2-4 | +| H4 | Are any `Microsoft.*` or `System.*` packages in my project affected by CVEs in the last 12 months? | ≤120 KB | 6-12 | + +**Example flow for H1:** + +```bash +# Step 1: Extract TFM from csproj +TFM=$(grep -oP '(?<=)[^<]+' MyProject.csproj) +# net8.0 + +# Step 2: Parse major version +VERSION=$(echo "$TFM" | grep -oP '\d+\.\d+') +# 8.0 + +# Step 3: Check support status +curl -s "https://raw.githubusercontent.com/dotnet/core/release-index/release-notes/index.json" | \ + jq -r --arg v "$VERSION" '._embedded.releases[] | select(.version == $v) | + "Version: \(.version), Supported: \(.supported), EOL: \(.eol_date)"' +# Version: 8.0, Supported: true, EOL: 2026-11-10T00:00:00+00:00 +``` + +**Example flow for H4:** + +```bash +# Step 1: Extract package references from csproj +PACKAGES=$(grep -oP '(?<=PackageReference Include=")[^"]+' MyProject.csproj | grep -E '^(Microsoft|System)\.') + +# Step 2: Walk last 12 security months via prev-security links +# Step 3: For each month, check _embedded.disclosures[].affected_packages against $PACKAGES +# Step 4: Report any matches with CVE ID, severity, and fixed version +``` + +**Design validation:** +- Root index provides support status for TFM version check +- `prev-security` chain enables efficient 12-month CVE scan +- `cve.json` contains `package_cves` lookup dictionary for package-level queries +- Combines multiple simpler queries into actionable security assessment + +## Technical Assumptions + +These assumptions underlie the design. If an assumption is incorrect, the design may need revision. + +### A1: CDN caching is critical for production scenarios + +**Assumption:** The release metadata files are served via CDN and cache coherency across files with different TTLs causes production issues. + +**Evidence:** The releases-index requires updating the root file ~30x/year, making aggressive caching impractical. Version-specific changes (EOL date corrections, metadata fixes) propagate to the root file. See [dotnet/core#9200](https://github.com/dotnet/core/issues/9200), [dotnet/core#10082](https://github.com/dotnet/core/issues/10082). + +**Design response:** The hal-index root file updates ~1x/year (only for new major versions). Version-specific metadata is isolated to version files. The `_embedded` pattern ensures each file is a consistent snapshot. Rule: **the root `index.json` is never touched for version-specific changes**. + +### A2: Security queries are time-sensitive + +**Assumption:** Security operations teams need to assess exposure within hours of Patch Tuesday. "Do I need to patch urgently?" is the most common question. + +**Evidence:** Patch Tuesday releases drive file updates. CVE severity determines urgency. Teams need to filter by severity without fetching external data. + +**Design response:** CVE details (severity, title, affected versions, fix commits) embedded in index files. `prev-security` links enable efficient traversal. Severity filtering doesn't require external fetches. + +### A3: AI assistants are important but secondary + +**Assumption:** AI assistants will frequently query this data, but their needs should not compromise cache coherency for mission-critical cloud-native scenarios. + +**Evidence:** LLMs benefit from embedded shortcuts and pre-computed results. They tolerate more frequent updates than CDN-cached production tooling. + +**Design response:** `llms.json` provides an AI-optimized entry point with embedded shortcuts (`latest_patches[]`, `latest_security_month[]`). It can be updated more frequently (~12+/year) without impacting the hal-index root. The hal-index maintains strict update discipline; `llms.json` trades stability for convenience. + +### A4: Breaking changes and TFMs are upgrade-time concerns + +**Assumption:** Breaking changes and TFM data are accessed during upgrade planning, not routine operations. They can tolerate larger payloads and more fetches. + +**Evidence:** Developers consult breaking changes when planning major version upgrades (1-2x/year per app). TFM selection happens at project creation or upgrade. + +**Design response:** `compatibility.json` and `target-frameworks.json` are linked from version index, not embedded. This keeps the version index small for routine queries while providing rich data for upgrade planning. + +### A5: snake_case enables better query ergonomics + +**Assumption:** Property naming affects query complexity. `snake_case` enables dot notation; `kebab-case` requires bracket notation. + +**Evidence:** Compare `.supported` vs `["support-phase"]` in jq. The hal-index query is 30% shorter for equivalent operations. + +**Design response:** All hal-index properties use `snake_case`. Link relations use `kebab-case` (HAL convention) but are accessed via `._links["..."].href` regardless. + +## Acceptance Testing + +### Two Optimal Paths + +Each query has two optimal paths reflecting the two consumption modes: + +1. **Cloud-native path** — Starts from `index.json` or `timeline/index.json`. This is the primary test validating the overall schema design. These entry points update ~1x/year, enabling aggressive CDN caching. + +2. **LLM path** — Starts from `llms.json`. This path must demonstrate measurable improvement over the cloud-native path to justify the existence of `llms.json` (which updates ~12x/year). + +For each query, we document both paths. The cloud-native path validates the schema; the LLM path validates the optimization. + +### Test Format + +``` +Query ID: [from tables above] +Query: [natural language] + +Cloud-native path: + Entry point: [index.json | timeline/index.json] + Navigation: + 1. [file] ([size]) → [action] + 2. [file] ([size]) → [action] + Fetches: [N] + Transfer: [X KB] + +LLM path: + Entry point: llms.json + Navigation: + 1. [file] ([size]) → [action] + 2. [file] ([size]) → [action] + Fetches: [N] + Transfer: [X KB] + Improvement: [savings vs cloud-native, or "none"] +``` + +### Scoring + +**Schema validation (cloud-native path):** +- The documented path *is* the target — it represents the optimal traversal +- Any implementation that exceeds the documented fetch count or transfer size is suboptimal + +**LLM optimization validation:** +- `llms.json` must show improvement on at least 50% of Category 1-3 queries +- Improvement means fewer fetches OR significantly less transfer (>30% reduction) +- If `llms.json` shows no improvement for a query, the cloud-native path is preferred + +**LLM benchmarking:** +- Full credit: Matches optimal path (correct entry point, correct navigation, no URL construction) +- Partial credit: Correct answer via suboptimal path (extra fetches or wrong entry point) +- Zero credit: Wrong answer, URL construction, or hallucinated data + +### Example: L1 — Latest Patch for .NET X + +``` +Query ID: L1 +Query: "What is the latest patch for .NET 9?" + +Cloud-native path: + Entry point: index.json + Navigation: + 1. index.json (5 KB) → follow _embedded.releases[] where version == "9.0" → ._links.self.href + 2. 9.0/index.json (20 KB) → read .latest field → "9.0.11" + Fetches: 2 + Transfer: 25 KB + +LLM path: + Entry point: llms.json + Navigation: + 1. llms.json (5 KB) → filter _embedded.latest_patches[] by release == "9.0" → read .version + Fetches: 1 + Transfer: 5 KB + Improvement: 1 fewer fetch, 80% less transfer +``` + +### Example: M3 — Critical CVE This Month + +``` +Query ID: M3 +Query: "Is there a CRITICAL severity CVE this month?" + +Cloud-native path: + Entry point: timeline/index.json + Navigation: + 1. timeline/index.json (4 KB) → follow _embedded.years[0]._links["latest-security-month"].href + 2. timeline/2025/10/index.json (9 KB) → filter _embedded.disclosures[] by cvss_severity == "CRITICAL" + Fetches: 2 + Transfer: 13 KB + +LLM path: + Entry point: llms.json + Navigation: + 1. llms.json (5 KB) → follow _links["latest-security-month"].href + 2. timeline/2025/10/index.json (9 KB) → filter _embedded.disclosures[] by cvss_severity == "CRITICAL" + Fetches: 2 + Transfer: 14 KB + Improvement: none (cloud-native path is 1 KB smaller) +``` + +### Example: C2 — HIGH+ CVEs Over 6 Months + +``` +Query ID: C2 +Query: "List all HIGH+ severity CVEs in the last 6 months" + +Cloud-native path: + Entry point: timeline/index.json + Navigation: + 1. timeline/index.json (4 KB) → follow _embedded.years[0]._links["latest-security-month"].href + 2. timeline/2025/10/index.json (9 KB) → filter, then follow _links["prev-security"].href + 3-6. Repeat for 5 more security months (~9 KB each) + Fetches: 7 + Transfer: ~58 KB + +LLM path: + Entry point: llms.json + Navigation: + 1. llms.json (5 KB) → follow _links["latest-security-month"].href + 2-6. timeline months via prev-security (~9 KB each) + Fetches: 6 + Transfer: ~50 KB + Improvement: 1 fewer fetch, 14% less transfer +``` + +## Results Summary + +These results validate the schema design and demonstrate where each entry point provides value. + +### Two Design Points + +The schema provides two entry points that represent fundamentally different design philosophies: + +| | `index.json` | `llms.json` | +|---|---|---| +| **Design point** | High cacheability / low change | Embedded query results for "now" | +| **Update frequency** | ~1x/year (new major version only) | ~12x/year (each patch Tuesday) | +| **Optimal for** | CDN-cached cloud-native tooling | AI assistants, interactive queries | +| **Failure mode** | Any monthly-changing value destroys cacheability | Missing data forces extra fetches | + +Each file fully embraces its design point: + +- **`index.json` (4.7 KB)** — Contains only data that changes ~1x/year. No patch versions, no CVE counts, no monthly data. A single monthly-changing field would force CDN TTL down to hours/days, destroying the value prop for all consumers. + +- **`llms.json` (7.1 KB)** — Embeds everything an LLM needs for "current state" queries: latest patches, support status, EOL dates, CVE summaries, and navigation links. If an LLM has to make a second fetch for common data, you've paid the 7 KB cost without getting the benefit. + +The `llms.json` file embeds two curated arrays: +- `latest_patches[]` — "What's current?" (patch versions, support status, EOL dates, navigation links) +- `latest_security_month[]` — "What's urgent?" (CVE counts, CVE IDs per version) + +Each `latest_patches[]` object includes `release-major` and `latest-sdk` links for direct navigation to version-specific resources. These links are stable (keyed by major version, change ~1x/year). + +### Category 1: Patch Currency and Lifecycle + +| ID | Query | Cloud-native | LLM | Winner | Notes | +|----|-------|--------------|-----|--------|-------| +| L1 | Latest patch for .NET X | 2 fetches, 24.3 KB | 1 fetch, 7.1 KB | LLM | 71% less transfer | +| L2 | Is .NET X supported? EOL? | 1 fetch, 4.7 KB | 1 fetch, 7.1 KB | Cloud | Both answer in 1 fetch | +| L3 | What versions are supported? | 1 fetch, 4.7 KB | 1 fetch, 7.1 KB | Cloud | Both answer in 1 fetch | + +*L2/L3: Cloud-native transfers less per query, but LLM path amortizes — a single `llms.json` fetch answers L1, L2, L3, and M1.* + +### Category 2: Security Patch Motivation + +| ID | Query | Cloud-native | LLM | Winner | LLM Improvement | +|----|-------|--------------|-----|--------|-----------------| +| M1 | CVEs in latest security patch | 3 fetches, 35.9 KB | 1 fetch, 7.1 KB | LLM | 80% less transfer | +| M2 | CVEs since [date] | 5 fetches, 35.9 KB | 4 fetches, 31.2 KB | LLM | 13% less transfer | +| M3 | CRITICAL CVE this month? | 3 fetches, 24.6 KB | 2 fetches, 15.7 KB | LLM | 36% less transfer | + +### Category 3: CVE Deep Analysis + +| ID | Query | Cloud-native | LLM | Winner | LLM Improvement | +|----|-------|--------------|-----|--------|-----------------| +| C1 | CVEs with severity/titles | 3 fetches, 35.9 KB | 2 fetches, 15.7 KB | LLM | 56% less transfer | +| C2 | HIGH+ CVEs last 6 months | 8 fetches, 54.8 KB | 7 fetches, 45.9 KB | LLM | 16% less transfer | +| C3 | CVEs in [month] with details | 4 fetches, 38.1 KB | 8 fetches, 57.4 KB | Cloud | (historical lookup) | +| C4 | Products affected by CVE | 3 fetches, 24.6 KB | 2 fetches, 15.7 KB | LLM | 36% less transfer | +| C5 | Fix commits for CVE | 3 fetches, 24.6 KB | 2 fetches, 15.7 KB | LLM | 36% less transfer | +| C6 | Is version X vulnerable? | 4 fetches, 43.1 KB | 3 fetches, 34.2 KB | LLM | 21% less transfer | + +### Category 4: Breaking Changes + +| ID | Query | Cloud-native | LLM | Winner | LLM Improvement | +|----|-------|--------------|-----|--------|-----------------| +| B1 | Breaking changes by category | 3 fetches, 151.1 KB | 2 fetches, 153.6 KB | Cloud | 1 fewer fetch | +| B2 | Breaking changes for [category] | 3 fetches, 151.1 KB | 2 fetches, 153.6 KB | Cloud | 1 fewer fetch | +| B3 | Doc URLs for [category] | 3 fetches, 151.1 KB | 2 fetches, 153.6 KB | Cloud | 1 fewer fetch | + +*LLM path uses `release-major` link to skip `index.json`, but `llms.json` is 2.4 KB larger.* + +### Category 5: Downloads + +| ID | Query | Cloud-native | LLM | Winner | LLM Improvement | +|----|-------|--------------|-----|--------|-----------------| +| D1 | Download latest SDK | 3 fetches, 26.4 KB | 2 fetches, 8.8 KB | LLM | 67% less transfer | +| D2 | Evergreen aka.ms links | 4 fetches, 34.5 KB | 2 fetches, 8.8 KB | LLM | 74% less transfer | + +*LLM path uses `latest-sdk` link: llms.json (7.1 KB) → sdk/index.json (1.7 KB)* + +### Category 6: Linux Deployment + +| ID | Query | Cloud-native | LLM | Winner | LLM Improvement | +|----|-------|--------------|-----|--------|-----------------| +| X1 | Is distro supported? | 3 fetches, 30.1 KB | 2 fetches, 27.9 KB | LLM | 7% less transfer | +| X2 | apt-get install command | 4 fetches, 52.3 KB | 3 fetches, 50.3 KB | LLM | 4% less transfer | +| X3 | Is libc new enough? | 3 fetches, 20.7 KB | 2 fetches, 18.5 KB | LLM | 11% less transfer | +| X4 | Which .NET versions support my OS? | 6 fetches, 64.6 KB | 4 fetches, 46.0 KB | LLM | 29% less transfer | + +*LLM path uses `release-major` link to navigate directly to each version's `supported-os.json`.* + +### Category 7: SDK Feature Bands + +| ID | Query | Cloud-native | LLM | Winner | LLM Improvement | +|----|-------|--------------|-----|--------|-----------------| +| S1 | SDK feature bands for .NET X | 3 fetches, 27.5 KB | 2 fetches, 10.5 KB | LLM | 62% less transfer | +| S2 | Is SDK band supported? | 3 fetches, 27.5 KB | 2 fetches, 10.5 KB | LLM | 62% less transfer | +| S3 | Latest SDK in band | 3 fetches, 27.5 KB | 2 fetches, 10.5 KB | LLM | 62% less transfer | + +*LLM path uses `latest-sdk` link: llms.json (7.1 KB) → sdk/index.json (3.4 KB for 9.0)* + +### Category 8: TFM Selection + +| ID | Query | Cloud-native | LLM | Winner | LLM Improvement | +|----|-------|--------------|-----|--------|-----------------| +| T1 | TFMs for .NET X | 3 fetches, 26.0 KB | 2 fetches, 18.7 KB | LLM | 28% less transfer | +| T2 | Android/iOS platform version | 3 fetches, 26.0 KB | 2 fetches, 18.7 KB | LLM | 28% less transfer | +| T3 | Android TFM progression | 7 fetches, 61.2 KB | 5 fetches, 41.2 KB | LLM | 33% less transfer | + +*LLM path uses `release-major` link to navigate directly to each version's `target-frameworks.json`.* + +### Category 9: Project Health Check + +| ID | Query | Cloud-native | LLM | Winner | Notes | +|----|-------|--------------|-----|--------|-------| +| H1 | Is TFM supported? | 1 fetch, 4.7 KB | 1 fetch, 7.1 KB | Cloud | Both answer in 1 fetch | +| H2 | Are installed SDKs vulnerable? | 2 fetches, 24.1 KB | 2 fetches, 26.6 KB | Cloud | Same fetches, cloud smaller | +| H3 | Are installed runtimes vulnerable? | 2 fetches, 24.1 KB | 2 fetches, 26.6 KB | Cloud | Same fetches, cloud smaller | +| H4 | Package CVEs in last 12 months | 13 fetches, 84.1 KB | 13 fetches, 86.3 KB | Cloud | Same fetches, cloud smaller | + +*Health check queries start from a known version (from csproj or `dotnet` CLI), so `index.json` (4.7 KB) is more efficient than `llms.json` (7.1 KB). No discovery needed.* + +### Summary + +**Schema validation:** All 31 queries are answerable via the cloud-native path with reasonable efficiency (1-13 fetches, 4.7-151 KB). + +**LLM optimization validation:** `llms.json` improves 21 of 31 queries (68%) by either embedding data directly or providing navigation shortcuts. The file fully embraces its design point of "embedded query results for now." + +**Where `llms.json` wins (21 queries):** +- L1: Latest patch (71% less transfer) +- M1-M3: Security queries (13-80% less transfer) +- C1-C2, C4-C6: CVE analysis (16-56% less transfer) +- D1-D2: Downloads (67-74% less transfer) +- X1-X4: Linux deployment (4-29% less transfer) +- S1-S3: SDK feature bands (62% less transfer) +- T1-T3: TFM selection (28-33% less transfer) + +**Where cloud-native wins (10 queries):** +- L2-L3: Support status queries (both answer in 1 fetch, but `index.json` is smaller) +- B1-B3: Breaking changes (LLM saves a fetch but transfers 2.5 KB more) +- C3: Historical CVE lookup (requires timeline traversal) +- H1-H4: Health checks (start from known version, no discovery needed) + +**Key insight:** The two entry points serve different purposes and both fully embrace their design points: +- `index.json` wins when you need minimal data that rarely changes, or when you already know your version +- `llms.json` wins when you need current-state answers or version discovery, and amortizes across multiple queries + +The 10 cloud-native wins fall into clear categories: root-only queries (L2-L3, H1), historical queries (C3), large payloads where entry point overhead is noise (B1-B3), and known-version queries (H2-H4). + +## Comparison Baseline + +While primary targets are absolute, comparison to releases-index provides context for improvement magnitude. + +| Query Type | hal-index | releases-index | Notes | +|------------|-----------|----------------|-------| +| Supported versions (L3) | 4.6 KB | 6 KB | 23% smaller | +| CVEs for latest patch (M1) | 4.9 KB | 1,240 KB | 253x smaller | +| CVEs for last 6 months (C2) | 43.7 KB | 2,400 KB | 55x smaller | +| Critical CVEs this month (M3) | 13.5 KB | N/A | releases-index lacks severity | +| Breaking changes (B1) | ~160 KB | N/A | releases-index lacks data | +| TFM platform versions (T2) | ~25 KB | N/A | releases-index lacks data | + +"N/A" indicates the releases-index cannot answer the query. + +## Non-Goals + +The following are explicitly not acceptance criteria: + +1. **Backward compatibility with releases-index** — This is a parallel schema, not a migration. Tools using releases-index continue to work. + +2. **Optimal ergonomics for all queries** — Category 5-9 queries may require more complex navigation. The schema optimizes for Categories 1-3. + +3. **Minimal file count** — The design trades more files for smaller files and better cache isolation. + +4. **Real-time CVE disclosure** — The schema is designed for Patch Tuesday cadence (~monthly), not real-time updates. + +5. **LLM optimization at the expense of cache coherency** — `llms.json` provides AI shortcuts; the hal-index maintains strict discipline. + +## Feedback Framework + +When evaluating feedback on the design: + +1. **Which consumer priority does the feedback serve?** Priority 1-2 feedback deserves more weight than Priority 4. + +2. **Which query category does the feedback affect?** Category 1-3 feedback is more impactful than Category 4-5. + +3. **Does the feedback challenge an assumption?** If an assumption is wrong, the design may need revision. + +4. **Does the feedback propose a different tradeoff?** Tradeoffs are explicit; changing one affects others. + +5. **Does the feedback require breaking cache coherency rules?** Such changes require strong justification. + +Feedback that optimizes for AI assistants at the expense of cloud-native cache coherency contradicts the design's primary purpose. diff --git a/release-notes/timeline/2016/06/index.json b/release-notes/timeline/2016/06/index.json index f6c3965c6..f3c62b1b3 100644 --- a/release-notes/timeline/2016/06/index.json +++ b/release-notes/timeline/2016/06/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2016-06", "year": "2016", "month": "06", + "date": "2016-06-27T00:00:00\u002B00:00", "security": false, "latest_release": "1.0", "releases": [ diff --git a/release-notes/timeline/2016/09/index.json b/release-notes/timeline/2016/09/index.json index 78ae8d6a0..6b7c97fa4 100644 --- a/release-notes/timeline/2016/09/index.json +++ b/release-notes/timeline/2016/09/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2016-09", "year": "2016", "month": "09", + "date": "2016-09-13T00:00:00\u002B00:00", "security": false, "latest_release": "1.0", "releases": [ diff --git a/release-notes/timeline/2016/10/index.json b/release-notes/timeline/2016/10/index.json index d9f9171ae..4dc0fc305 100644 --- a/release-notes/timeline/2016/10/index.json +++ b/release-notes/timeline/2016/10/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2016-10", "year": "2016", "month": "10", + "date": "2016-10-17T00:00:00\u002B00:00", "security": false, "latest_release": "1.0", "releases": [ diff --git a/release-notes/timeline/2016/11/index.json b/release-notes/timeline/2016/11/index.json index 3a59b503e..65ddfbbb7 100644 --- a/release-notes/timeline/2016/11/index.json +++ b/release-notes/timeline/2016/11/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2016-11", "year": "2016", "month": "11", + "date": "2016-11-16T00:00:00\u002B00:00", "security": false, "latest_release": "1.1", "releases": [ diff --git a/release-notes/timeline/2016/12/index.json b/release-notes/timeline/2016/12/index.json index 5e11f22e6..7fcb7960c 100644 --- a/release-notes/timeline/2016/12/index.json +++ b/release-notes/timeline/2016/12/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2016-12", "year": "2016", "month": "12", + "date": "2016-12-13T00:00:00\u002B00:00", "security": false, "latest_release": "1.0", "releases": [ diff --git a/release-notes/timeline/2016/index.json b/release-notes/timeline/2016/index.json index a8baee874..2d5d5b18d 100644 --- a/release-notes/timeline/2016/index.json +++ b/release-notes/timeline/2016/index.json @@ -30,6 +30,7 @@ "months": [ { "month": "06", + "date": "2016-06-27T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "1.0", @@ -47,6 +48,7 @@ }, { "month": "09", + "date": "2016-09-13T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "1.0", @@ -64,6 +66,7 @@ }, { "month": "10", + "date": "2016-10-17T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "1.0", @@ -81,6 +84,7 @@ }, { "month": "11", + "date": "2016-11-16T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "1.1", @@ -98,6 +102,7 @@ }, { "month": "12", + "date": "2016-12-13T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "1.0", diff --git a/release-notes/timeline/2017/03/index.json b/release-notes/timeline/2017/03/index.json index 3722d00fb..913c7a5ac 100644 --- a/release-notes/timeline/2017/03/index.json +++ b/release-notes/timeline/2017/03/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2017-03", "year": "2017", "month": "03", + "date": "2017-03-07T00:00:00\u002B00:00", "security": false, "latest_release": "1.1", "releases": [ diff --git a/release-notes/timeline/2017/05/index.json b/release-notes/timeline/2017/05/index.json index 1d49f6d83..1dc52073d 100644 --- a/release-notes/timeline/2017/05/index.json +++ b/release-notes/timeline/2017/05/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2017-05", "year": "2017", "month": "05", + "date": "2017-05-10T00:00:00\u002B00:00", "security": false, "latest_release": "1.1", "releases": [ diff --git a/release-notes/timeline/2017/06/index.json b/release-notes/timeline/2017/06/index.json index 2de38f280..57a007b99 100644 --- a/release-notes/timeline/2017/06/index.json +++ b/release-notes/timeline/2017/06/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2017-06", "year": "2017", "month": "06", + "date": "2017-06-28T00:00:00\u002B00:00", "security": false, "latest_release": "2.0", "releases": [ diff --git a/release-notes/timeline/2017/08/index.json b/release-notes/timeline/2017/08/index.json index 5d59ebe39..594e6240b 100644 --- a/release-notes/timeline/2017/08/index.json +++ b/release-notes/timeline/2017/08/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2017-08", "year": "2017", "month": "08", + "date": "2017-08-14T00:00:00\u002B00:00", "security": false, "latest_release": "2.0", "releases": [ diff --git a/release-notes/timeline/2017/09/index.json b/release-notes/timeline/2017/09/index.json index dd51b52cf..de089f2c6 100644 --- a/release-notes/timeline/2017/09/index.json +++ b/release-notes/timeline/2017/09/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2017-09", "year": "2017", "month": "09", + "date": "2017-09-21T00:00:00\u002B00:00", "security": false, "latest_release": "1.1", "releases": [ diff --git a/release-notes/timeline/2017/11/index.json b/release-notes/timeline/2017/11/index.json index 0bdb92b95..6c9e4e096 100644 --- a/release-notes/timeline/2017/11/index.json +++ b/release-notes/timeline/2017/11/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2017-11", "year": "2017", "month": "11", + "date": "2017-11-14T00:00:00\u002B00:00", "security": false, "latest_release": "2.0", "releases": [ diff --git a/release-notes/timeline/2017/12/index.json b/release-notes/timeline/2017/12/index.json index a151df1b9..dc07cd8b4 100644 --- a/release-notes/timeline/2017/12/index.json +++ b/release-notes/timeline/2017/12/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2017-12", "year": "2017", "month": "12", + "date": "2017-12-04T00:00:00\u002B00:00", "security": false, "latest_release": "2.0", "releases": [ diff --git a/release-notes/timeline/2017/index.json b/release-notes/timeline/2017/index.json index 15d0f72cb..477312401 100644 --- a/release-notes/timeline/2017/index.json +++ b/release-notes/timeline/2017/index.json @@ -35,6 +35,7 @@ "months": [ { "month": "03", + "date": "2017-03-07T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "1.1", @@ -54,6 +55,7 @@ }, { "month": "05", + "date": "2017-05-10T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "1.1", @@ -75,6 +77,7 @@ }, { "month": "06", + "date": "2017-06-28T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.0", @@ -92,6 +95,7 @@ }, { "month": "08", + "date": "2017-08-14T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.0", @@ -109,6 +113,7 @@ }, { "month": "09", + "date": "2017-09-21T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "1.1", @@ -128,6 +133,7 @@ }, { "month": "11", + "date": "2017-11-14T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.0", @@ -149,6 +155,7 @@ }, { "month": "12", + "date": "2017-12-04T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.0", diff --git a/release-notes/timeline/2018/01/index.json b/release-notes/timeline/2018/01/index.json index 31204a680..742e89312 100644 --- a/release-notes/timeline/2018/01/index.json +++ b/release-notes/timeline/2018/01/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2018-01", "year": "2018", "month": "01", + "date": "2018-01-09T00:00:00\u002B00:00", "security": false, "latest_release": "2.0", "releases": [ diff --git a/release-notes/timeline/2018/02/index.json b/release-notes/timeline/2018/02/index.json index 53383908c..4283660c3 100644 --- a/release-notes/timeline/2018/02/index.json +++ b/release-notes/timeline/2018/02/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2018-02", "year": "2018", "month": "02", + "date": "2018-02-27T00:00:00\u002B00:00", "security": false, "latest_release": "2.1", "releases": [ diff --git a/release-notes/timeline/2018/03/index.json b/release-notes/timeline/2018/03/index.json index 67cfb5425..ad991c4e7 100644 --- a/release-notes/timeline/2018/03/index.json +++ b/release-notes/timeline/2018/03/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2018-03", "year": "2018", "month": "03", + "date": "2018-03-22T00:00:00\u002B00:00", "security": false, "latest_release": "2.0", "releases": [ diff --git a/release-notes/timeline/2018/04/index.json b/release-notes/timeline/2018/04/index.json index e30d11361..548382487 100644 --- a/release-notes/timeline/2018/04/index.json +++ b/release-notes/timeline/2018/04/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2018-04", "year": "2018", "month": "04", + "date": "2018-04-17T00:00:00\u002B00:00", "security": false, "latest_release": "2.0", "releases": [ diff --git a/release-notes/timeline/2018/05/index.json b/release-notes/timeline/2018/05/index.json index 3a6165743..03e27390d 100644 --- a/release-notes/timeline/2018/05/index.json +++ b/release-notes/timeline/2018/05/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2018-05", "year": "2018", "month": "05", + "date": "2018-05-30T00:00:00\u002B00:00", "security": false, "latest_release": "2.1", "releases": [ diff --git a/release-notes/timeline/2018/06/index.json b/release-notes/timeline/2018/06/index.json index bca5bbb68..8d2f9fe7c 100644 --- a/release-notes/timeline/2018/06/index.json +++ b/release-notes/timeline/2018/06/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2018-06", "year": "2018", "month": "06", + "date": "2018-06-19T00:00:00\u002B00:00", "security": false, "latest_release": "2.1", "releases": [ diff --git a/release-notes/timeline/2018/07/index.json b/release-notes/timeline/2018/07/index.json index fd779fd99..f412a58b8 100644 --- a/release-notes/timeline/2018/07/index.json +++ b/release-notes/timeline/2018/07/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2018-07", "year": "2018", "month": "07", + "date": "2018-07-10T00:00:00\u002B00:00", "security": false, "latest_release": "2.1", "releases": [ diff --git a/release-notes/timeline/2018/08/index.json b/release-notes/timeline/2018/08/index.json index ece8ff168..490eaca95 100644 --- a/release-notes/timeline/2018/08/index.json +++ b/release-notes/timeline/2018/08/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2018-08", "year": "2018", "month": "08", + "date": "2018-08-22T00:00:00\u002B00:00", "security": false, "latest_release": "2.1", "releases": [ diff --git a/release-notes/timeline/2018/09/index.json b/release-notes/timeline/2018/09/index.json index 02b2dcb66..cd70683fc 100644 --- a/release-notes/timeline/2018/09/index.json +++ b/release-notes/timeline/2018/09/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2018-09", "year": "2018", "month": "09", + "date": "2018-09-12T00:00:00\u002B00:00", "security": false, "latest_release": "2.1", "releases": [ diff --git a/release-notes/timeline/2018/10/index.json b/release-notes/timeline/2018/10/index.json index f900c4a8b..0420cd496 100644 --- a/release-notes/timeline/2018/10/index.json +++ b/release-notes/timeline/2018/10/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2018-10", "year": "2018", "month": "10", + "date": "2018-10-17T00:00:00\u002B00:00", "security": false, "latest_release": "2.1", "releases": [ diff --git a/release-notes/timeline/2018/11/index.json b/release-notes/timeline/2018/11/index.json index de8a04013..0439ffc58 100644 --- a/release-notes/timeline/2018/11/index.json +++ b/release-notes/timeline/2018/11/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2018-11", "year": "2018", "month": "11", + "date": "2018-11-13T00:00:00\u002B00:00", "security": false, "latest_release": "2.1", "releases": [ diff --git a/release-notes/timeline/2018/12/index.json b/release-notes/timeline/2018/12/index.json index fd3470306..7e8bc7b52 100644 --- a/release-notes/timeline/2018/12/index.json +++ b/release-notes/timeline/2018/12/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2018-12", "year": "2018", "month": "12", + "date": "2018-12-11T00:00:00\u002B00:00", "security": false, "latest_release": "2.2", "releases": [ diff --git a/release-notes/timeline/2018/index.json b/release-notes/timeline/2018/index.json index 65171deec..9d4dd8afb 100644 --- a/release-notes/timeline/2018/index.json +++ b/release-notes/timeline/2018/index.json @@ -38,6 +38,7 @@ "months": [ { "month": "01", + "date": "2018-01-09T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.0", @@ -59,6 +60,7 @@ }, { "month": "02", + "date": "2018-02-27T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.1", @@ -76,6 +78,7 @@ }, { "month": "03", + "date": "2018-03-22T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.0", @@ -100,6 +103,7 @@ }, { "month": "04", + "date": "2018-04-17T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.0", @@ -124,6 +128,7 @@ }, { "month": "05", + "date": "2018-05-30T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.1", @@ -145,6 +150,7 @@ }, { "month": "06", + "date": "2018-06-19T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.1", @@ -162,6 +168,7 @@ }, { "month": "07", + "date": "2018-07-10T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.1", @@ -185,6 +192,7 @@ }, { "month": "08", + "date": "2018-08-22T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.1", @@ -204,6 +212,7 @@ }, { "month": "09", + "date": "2018-09-12T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.1", @@ -223,6 +232,7 @@ }, { "month": "10", + "date": "2018-10-17T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.1", @@ -246,6 +256,7 @@ }, { "month": "11", + "date": "2018-11-13T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.1", @@ -263,6 +274,7 @@ }, { "month": "12", + "date": "2018-12-11T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.2", diff --git a/release-notes/timeline/2019/01/index.json b/release-notes/timeline/2019/01/index.json index 48c6dbc64..45a5ddab7 100644 --- a/release-notes/timeline/2019/01/index.json +++ b/release-notes/timeline/2019/01/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2019-01", "year": "2019", "month": "01", + "date": "2019-01-29T00:00:00\u002B00:00", "security": false, "latest_release": "2.2", "releases": [ diff --git a/release-notes/timeline/2019/02/index.json b/release-notes/timeline/2019/02/index.json index 151d06af9..f86680059 100644 --- a/release-notes/timeline/2019/02/index.json +++ b/release-notes/timeline/2019/02/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2019-02", "year": "2019", "month": "02", + "date": "2019-02-12T00:00:00\u002B00:00", "security": false, "latest_release": "2.2", "releases": [ diff --git a/release-notes/timeline/2019/03/index.json b/release-notes/timeline/2019/03/index.json index 1636d5053..6b06e3185 100644 --- a/release-notes/timeline/2019/03/index.json +++ b/release-notes/timeline/2019/03/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2019-03", "year": "2019", "month": "03", + "date": "2019-03-12T00:00:00\u002B00:00", "security": false, "latest_release": "2.2", "releases": [ diff --git a/release-notes/timeline/2019/04/index.json b/release-notes/timeline/2019/04/index.json index a13f70bc3..31e7c7760 100644 --- a/release-notes/timeline/2019/04/index.json +++ b/release-notes/timeline/2019/04/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2019-04", "year": "2019", "month": "04", + "date": "2019-04-18T00:00:00\u002B00:00", "security": false, "latest_release": "2.2", "releases": [ diff --git a/release-notes/timeline/2019/05/index.json b/release-notes/timeline/2019/05/index.json index d23bbc832..c3fe760a0 100644 --- a/release-notes/timeline/2019/05/index.json +++ b/release-notes/timeline/2019/05/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2019-05", "year": "2019", "month": "05", + "date": "2019-05-21T00:00:00\u002B00:00", "security": false, "latest_release": "2.2", "releases": [ diff --git a/release-notes/timeline/2019/06/index.json b/release-notes/timeline/2019/06/index.json index 580a38959..f2a8c4790 100644 --- a/release-notes/timeline/2019/06/index.json +++ b/release-notes/timeline/2019/06/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2019-06", "year": "2019", "month": "06", + "date": "2019-06-12T00:00:00\u002B00:00", "security": false, "latest_release": "3.0", "releases": [ diff --git a/release-notes/timeline/2019/07/index.json b/release-notes/timeline/2019/07/index.json index 534d595aa..4977aef31 100644 --- a/release-notes/timeline/2019/07/index.json +++ b/release-notes/timeline/2019/07/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2019-07", "year": "2019", "month": "07", + "date": "2019-07-24T00:00:00\u002B00:00", "security": false, "latest_release": "2.2", "releases": [ diff --git a/release-notes/timeline/2019/08/index.json b/release-notes/timeline/2019/08/index.json index 7618d3b30..53d01024b 100644 --- a/release-notes/timeline/2019/08/index.json +++ b/release-notes/timeline/2019/08/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2019-08", "year": "2019", "month": "08", + "date": "2019-08-13T00:00:00\u002B00:00", "security": false, "latest_release": "3.0", "releases": [ diff --git a/release-notes/timeline/2019/09/index.json b/release-notes/timeline/2019/09/index.json index 18b6bd2b2..8592b57c7 100644 --- a/release-notes/timeline/2019/09/index.json +++ b/release-notes/timeline/2019/09/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2019-09", "year": "2019", "month": "09", + "date": "2019-09-23T00:00:00\u002B00:00", "security": false, "latest_release": "3.0", "releases": [ diff --git a/release-notes/timeline/2019/10/index.json b/release-notes/timeline/2019/10/index.json index e7a256d67..433315fa8 100644 --- a/release-notes/timeline/2019/10/index.json +++ b/release-notes/timeline/2019/10/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2019-10", "year": "2019", "month": "10", + "date": "2019-10-15T00:00:00\u002B00:00", "security": false, "latest_release": "3.1", "releases": [ diff --git a/release-notes/timeline/2019/11/index.json b/release-notes/timeline/2019/11/index.json index 40dfa2f91..15a2344d9 100644 --- a/release-notes/timeline/2019/11/index.json +++ b/release-notes/timeline/2019/11/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2019-11", "year": "2019", "month": "11", + "date": "2019-11-19T00:00:00\u002B00:00", "security": false, "latest_release": "3.0", "releases": [ diff --git a/release-notes/timeline/2019/12/index.json b/release-notes/timeline/2019/12/index.json index 4f172d26a..5b38bb688 100644 --- a/release-notes/timeline/2019/12/index.json +++ b/release-notes/timeline/2019/12/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2019-12", "year": "2019", "month": "12", + "date": "2019-12-03T00:00:00\u002B00:00", "security": false, "latest_release": "3.1", "releases": [ diff --git a/release-notes/timeline/2019/index.json b/release-notes/timeline/2019/index.json index 8c3747b93..ef3df8724 100644 --- a/release-notes/timeline/2019/index.json +++ b/release-notes/timeline/2019/index.json @@ -38,6 +38,7 @@ "months": [ { "month": "01", + "date": "2019-01-29T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.2", @@ -60,6 +61,7 @@ }, { "month": "02", + "date": "2019-02-12T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.2", @@ -83,6 +85,7 @@ }, { "month": "03", + "date": "2019-03-12T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.2", @@ -108,6 +111,7 @@ }, { "month": "04", + "date": "2019-04-18T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.2", @@ -131,6 +135,7 @@ }, { "month": "05", + "date": "2019-05-21T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.2", @@ -156,6 +161,7 @@ }, { "month": "06", + "date": "2019-06-12T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.0", @@ -173,6 +179,7 @@ }, { "month": "07", + "date": "2019-07-24T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "2.2", @@ -194,6 +201,7 @@ }, { "month": "08", + "date": "2019-08-13T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.0", @@ -211,6 +219,7 @@ }, { "month": "09", + "date": "2019-09-23T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.0", @@ -234,6 +243,7 @@ }, { "month": "10", + "date": "2019-10-15T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.1", @@ -251,6 +261,7 @@ }, { "month": "11", + "date": "2019-11-19T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.0", @@ -275,6 +286,7 @@ }, { "month": "12", + "date": "2019-12-03T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.1", diff --git a/release-notes/timeline/2020/01/index.json b/release-notes/timeline/2020/01/index.json index 979e41c03..5b0cf71ec 100644 --- a/release-notes/timeline/2020/01/index.json +++ b/release-notes/timeline/2020/01/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2020-01", "year": "2020", "month": "01", + "date": "2020-01-14T00:00:00\u002B00:00", "security": false, "latest_release": "3.1", "releases": [ diff --git a/release-notes/timeline/2020/02/index.json b/release-notes/timeline/2020/02/index.json index 70f70177d..54fac3f04 100644 --- a/release-notes/timeline/2020/02/index.json +++ b/release-notes/timeline/2020/02/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2020-02", "year": "2020", "month": "02", + "date": "2020-02-18T00:00:00\u002B00:00", "security": false, "latest_release": "3.0", "releases": [ diff --git a/release-notes/timeline/2020/03/index.json b/release-notes/timeline/2020/03/index.json index 6962307d7..65135710f 100644 --- a/release-notes/timeline/2020/03/index.json +++ b/release-notes/timeline/2020/03/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2020-03", "year": "2020", "month": "03", + "date": "2020-03-24T00:00:00\u002B00:00", "security": false, "latest_release": "3.1", "releases": [ diff --git a/release-notes/timeline/2020/04/index.json b/release-notes/timeline/2020/04/index.json index 371247d0e..54c150edf 100644 --- a/release-notes/timeline/2020/04/index.json +++ b/release-notes/timeline/2020/04/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2020-04", "year": "2020", "month": "04", + "date": "2020-04-23T00:00:00\u002B00:00", "security": false, "latest_release": "5.0", "releases": [ diff --git a/release-notes/timeline/2020/05/index.json b/release-notes/timeline/2020/05/index.json index 6db80b8c8..f938479a3 100644 --- a/release-notes/timeline/2020/05/index.json +++ b/release-notes/timeline/2020/05/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2020-05", "year": "2020", "month": "05", + "date": "2020-05-19T00:00:00\u002B00:00", "security": false, "latest_release": "3.1", "releases": [ diff --git a/release-notes/timeline/2020/06/index.json b/release-notes/timeline/2020/06/index.json index 778689384..ba1c3dda4 100644 --- a/release-notes/timeline/2020/06/index.json +++ b/release-notes/timeline/2020/06/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2020-06", "year": "2020", "month": "06", + "date": "2020-06-25T00:00:00\u002B00:00", "security": false, "latest_release": "3.1", "releases": [ diff --git a/release-notes/timeline/2020/07/index.json b/release-notes/timeline/2020/07/index.json index 2dbaff78e..4fdb737a0 100644 --- a/release-notes/timeline/2020/07/index.json +++ b/release-notes/timeline/2020/07/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2020-07", "year": "2020", "month": "07", + "date": "2020-07-21T00:00:00\u002B00:00", "security": false, "latest_release": "3.1", "releases": [ diff --git a/release-notes/timeline/2020/08/index.json b/release-notes/timeline/2020/08/index.json index 68306393d..b79af630c 100644 --- a/release-notes/timeline/2020/08/index.json +++ b/release-notes/timeline/2020/08/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2020-08", "year": "2020", "month": "08", + "date": "2020-08-25T00:00:00\u002B00:00", "security": false, "latest_release": "3.1", "releases": [ diff --git a/release-notes/timeline/2020/09/index.json b/release-notes/timeline/2020/09/index.json index 2bf4d06b0..4de976c90 100644 --- a/release-notes/timeline/2020/09/index.json +++ b/release-notes/timeline/2020/09/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2020-09", "year": "2020", "month": "09", + "date": "2020-09-14T00:00:00\u002B00:00", "security": false, "latest_release": "3.1", "releases": [ diff --git a/release-notes/timeline/2020/10/index.json b/release-notes/timeline/2020/10/index.json index d8d5b3774..9e0e7caa1 100644 --- a/release-notes/timeline/2020/10/index.json +++ b/release-notes/timeline/2020/10/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2020-10", "year": "2020", "month": "10", + "date": "2020-10-13T00:00:00\u002B00:00", "security": false, "latest_release": "3.1", "releases": [ diff --git a/release-notes/timeline/2020/11/index.json b/release-notes/timeline/2020/11/index.json index 25195962c..f6e658fe4 100644 --- a/release-notes/timeline/2020/11/index.json +++ b/release-notes/timeline/2020/11/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2020-11", "year": "2020", "month": "11", + "date": "2020-11-10T00:00:00\u002B00:00", "security": false, "latest_release": "5.0", "releases": [ diff --git a/release-notes/timeline/2020/12/index.json b/release-notes/timeline/2020/12/index.json index d3d056996..b943f2953 100644 --- a/release-notes/timeline/2020/12/index.json +++ b/release-notes/timeline/2020/12/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2020-12", "year": "2020", "month": "12", + "date": "2020-12-08T00:00:00\u002B00:00", "security": false, "latest_release": "5.0", "releases": [ diff --git a/release-notes/timeline/2020/index.json b/release-notes/timeline/2020/index.json index 799b73371..a05521dfa 100644 --- a/release-notes/timeline/2020/index.json +++ b/release-notes/timeline/2020/index.json @@ -36,6 +36,7 @@ "months": [ { "month": "01", + "date": "2020-01-14T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.1", @@ -57,6 +58,7 @@ }, { "month": "02", + "date": "2020-02-18T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.0", @@ -76,6 +78,7 @@ }, { "month": "03", + "date": "2020-03-24T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.1", @@ -98,6 +101,7 @@ }, { "month": "04", + "date": "2020-04-23T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "5.0", @@ -116,6 +120,7 @@ }, { "month": "05", + "date": "2020-05-19T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.1", @@ -137,6 +142,7 @@ }, { "month": "06", + "date": "2020-06-25T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.1", @@ -159,6 +165,7 @@ }, { "month": "07", + "date": "2020-07-21T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.1", @@ -180,6 +187,7 @@ }, { "month": "08", + "date": "2020-08-25T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.1", @@ -201,6 +209,7 @@ }, { "month": "09", + "date": "2020-09-14T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.1", @@ -222,6 +231,7 @@ }, { "month": "10", + "date": "2020-10-13T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.1", @@ -243,6 +253,7 @@ }, { "month": "11", + "date": "2020-11-10T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "5.0", @@ -262,6 +273,7 @@ }, { "month": "12", + "date": "2020-12-08T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "5.0", diff --git a/release-notes/timeline/2021/01/index.json b/release-notes/timeline/2021/01/index.json index a27307c80..6ca70ab7c 100644 --- a/release-notes/timeline/2021/01/index.json +++ b/release-notes/timeline/2021/01/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2021-01", "year": "2021", "month": "01", + "date": "2021-01-12T00:00:00\u002B00:00", "security": false, "latest_release": "5.0", "releases": [ diff --git a/release-notes/timeline/2021/02/index.json b/release-notes/timeline/2021/02/index.json index b20f5bdb8..04f53f5f9 100644 --- a/release-notes/timeline/2021/02/index.json +++ b/release-notes/timeline/2021/02/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2021-02", "year": "2021", "month": "02", + "date": "2021-02-17T00:00:00\u002B00:00", "security": false, "latest_release": "3.1", "releases": [ diff --git a/release-notes/timeline/2021/03/index.json b/release-notes/timeline/2021/03/index.json index c55aca3f8..c2343401d 100644 --- a/release-notes/timeline/2021/03/index.json +++ b/release-notes/timeline/2021/03/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2021-03", "year": "2021", "month": "03", + "date": "2021-03-11T00:00:00\u002B00:00", "security": false, "latest_release": "5.0", "releases": [ diff --git a/release-notes/timeline/2021/04/index.json b/release-notes/timeline/2021/04/index.json index 33a0e796b..e842e108d 100644 --- a/release-notes/timeline/2021/04/index.json +++ b/release-notes/timeline/2021/04/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2021-04", "year": "2021", "month": "04", + "date": "2021-04-13T00:00:00\u002B00:00", "security": false, "latest_release": "5.0", "releases": [ diff --git a/release-notes/timeline/2021/05/index.json b/release-notes/timeline/2021/05/index.json index f99e7bea6..aa9f303ef 100644 --- a/release-notes/timeline/2021/05/index.json +++ b/release-notes/timeline/2021/05/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2021-05", "year": "2021", "month": "05", + "date": "2021-05-25T00:00:00\u002B00:00", "security": false, "latest_release": "5.0", "releases": [ diff --git a/release-notes/timeline/2021/06/index.json b/release-notes/timeline/2021/06/index.json index f4acb2ad5..e670b02b7 100644 --- a/release-notes/timeline/2021/06/index.json +++ b/release-notes/timeline/2021/06/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2021-06", "year": "2021", "month": "06", + "date": "2021-06-17T00:00:00\u002B00:00", "security": false, "latest_release": "5.0", "releases": [ diff --git a/release-notes/timeline/2021/07/index.json b/release-notes/timeline/2021/07/index.json index fa33381c7..ebf2cd280 100644 --- a/release-notes/timeline/2021/07/index.json +++ b/release-notes/timeline/2021/07/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2021-07", "year": "2021", "month": "07", + "date": "2021-07-14T00:00:00\u002B00:00", "security": false, "latest_release": "5.0", "releases": [ diff --git a/release-notes/timeline/2021/08/index.json b/release-notes/timeline/2021/08/index.json index ed3eaa0ea..932ff8efe 100644 --- a/release-notes/timeline/2021/08/index.json +++ b/release-notes/timeline/2021/08/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2021-08", "year": "2021", "month": "08", + "date": "2021-08-19T00:00:00\u002B00:00", "security": false, "latest_release": "5.0", "releases": [ diff --git a/release-notes/timeline/2021/09/index.json b/release-notes/timeline/2021/09/index.json index f940f980f..0f13a6df6 100644 --- a/release-notes/timeline/2021/09/index.json +++ b/release-notes/timeline/2021/09/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2021-09", "year": "2021", "month": "09", + "date": "2021-09-14T00:00:00\u002B00:00", "security": false, "latest_release": "5.0", "releases": [ diff --git a/release-notes/timeline/2021/10/index.json b/release-notes/timeline/2021/10/index.json index bae1b6f89..3b58eb410 100644 --- a/release-notes/timeline/2021/10/index.json +++ b/release-notes/timeline/2021/10/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2021-10", "year": "2021", "month": "10", + "date": "2021-10-12T00:00:00\u002B00:00", "security": false, "latest_release": "5.0", "releases": [ diff --git a/release-notes/timeline/2021/11/index.json b/release-notes/timeline/2021/11/index.json index b90c20a6f..f4f2cbf78 100644 --- a/release-notes/timeline/2021/11/index.json +++ b/release-notes/timeline/2021/11/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2021-11", "year": "2021", "month": "11", + "date": "2021-11-08T00:00:00\u002B00:00", "security": false, "latest_release": "6.0", "releases": [ diff --git a/release-notes/timeline/2021/12/index.json b/release-notes/timeline/2021/12/index.json index 0493f8094..92502ae01 100644 --- a/release-notes/timeline/2021/12/index.json +++ b/release-notes/timeline/2021/12/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2021-12", "year": "2021", "month": "12", + "date": "2021-12-14T00:00:00\u002B00:00", "security": false, "latest_release": "6.0", "releases": [ diff --git a/release-notes/timeline/2021/index.json b/release-notes/timeline/2021/index.json index 0f1fff29b..15ea55aeb 100644 --- a/release-notes/timeline/2021/index.json +++ b/release-notes/timeline/2021/index.json @@ -36,6 +36,7 @@ "months": [ { "month": "01", + "date": "2021-01-12T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "5.0", @@ -57,6 +58,7 @@ }, { "month": "02", + "date": "2021-02-17T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "3.1", @@ -78,6 +80,7 @@ }, { "month": "03", + "date": "2021-03-11T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "5.0", @@ -102,6 +105,7 @@ }, { "month": "04", + "date": "2021-04-13T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "5.0", @@ -125,6 +129,7 @@ }, { "month": "05", + "date": "2021-05-25T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "5.0", @@ -148,6 +153,7 @@ }, { "month": "06", + "date": "2021-06-17T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "5.0", @@ -169,6 +175,7 @@ }, { "month": "07", + "date": "2021-07-14T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "5.0", @@ -190,6 +197,7 @@ }, { "month": "08", + "date": "2021-08-19T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "5.0", @@ -213,6 +221,7 @@ }, { "month": "09", + "date": "2021-09-14T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "5.0", @@ -234,6 +243,7 @@ }, { "month": "10", + "date": "2021-10-12T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "5.0", @@ -255,6 +265,7 @@ }, { "month": "11", + "date": "2021-11-08T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "6.0", @@ -276,6 +287,7 @@ }, { "month": "12", + "date": "2021-12-14T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "6.0", diff --git a/release-notes/timeline/2022/02/index.json b/release-notes/timeline/2022/02/index.json index ae7a5ce64..ca1e397ea 100644 --- a/release-notes/timeline/2022/02/index.json +++ b/release-notes/timeline/2022/02/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2022-02", "year": "2022", "month": "02", + "date": "2022-02-17T00:00:00\u002B00:00", "security": false, "latest_release": "6.0", "releases": [ diff --git a/release-notes/timeline/2022/03/index.json b/release-notes/timeline/2022/03/index.json index ea52de882..f9f10753b 100644 --- a/release-notes/timeline/2022/03/index.json +++ b/release-notes/timeline/2022/03/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2022-03", "year": "2022", "month": "03", + "date": "2022-03-15T00:00:00\u002B00:00", "security": false, "latest_release": "6.0", "releases": [ diff --git a/release-notes/timeline/2022/04/index.json b/release-notes/timeline/2022/04/index.json index 2147416fb..16d1c7567 100644 --- a/release-notes/timeline/2022/04/index.json +++ b/release-notes/timeline/2022/04/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2022-04", "year": "2022", "month": "04", + "date": "2022-04-13T00:00:00\u002B00:00", "security": false, "latest_release": "6.0", "releases": [ diff --git a/release-notes/timeline/2022/05/index.json b/release-notes/timeline/2022/05/index.json index 21a0b4c6d..a793afcc2 100644 --- a/release-notes/timeline/2022/05/index.json +++ b/release-notes/timeline/2022/05/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2022-05", "year": "2022", "month": "05", + "date": "2022-05-10T00:00:00\u002B00:00", "security": false, "latest_release": "6.0", "releases": [ diff --git a/release-notes/timeline/2022/06/index.json b/release-notes/timeline/2022/06/index.json index 3338f139b..1de83680a 100644 --- a/release-notes/timeline/2022/06/index.json +++ b/release-notes/timeline/2022/06/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2022-06", "year": "2022", "month": "06", + "date": "2022-06-14T00:00:00\u002B00:00", "security": false, "latest_release": "6.0", "releases": [ diff --git a/release-notes/timeline/2022/07/index.json b/release-notes/timeline/2022/07/index.json index a145b38ab..001cb2539 100644 --- a/release-notes/timeline/2022/07/index.json +++ b/release-notes/timeline/2022/07/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2022-07", "year": "2022", "month": "07", + "date": "2022-07-12T00:00:00\u002B00:00", "security": false, "latest_release": "6.0", "releases": [ diff --git a/release-notes/timeline/2022/08/index.json b/release-notes/timeline/2022/08/index.json index 38a57a70d..3543c49b0 100644 --- a/release-notes/timeline/2022/08/index.json +++ b/release-notes/timeline/2022/08/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2022-08", "year": "2022", "month": "08", + "date": "2022-08-09T00:00:00\u002B00:00", "security": false, "latest_release": "6.0", "releases": [ diff --git a/release-notes/timeline/2022/09/index.json b/release-notes/timeline/2022/09/index.json index dc56ee923..082b3aa86 100644 --- a/release-notes/timeline/2022/09/index.json +++ b/release-notes/timeline/2022/09/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2022-09", "year": "2022", "month": "09", + "date": "2022-09-14T00:00:00\u002B00:00", "security": false, "latest_release": "6.0", "releases": [ diff --git a/release-notes/timeline/2022/10/index.json b/release-notes/timeline/2022/10/index.json index 7b47ba3f4..9ac48694d 100644 --- a/release-notes/timeline/2022/10/index.json +++ b/release-notes/timeline/2022/10/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2022-10", "year": "2022", "month": "10", + "date": "2022-10-11T00:00:00\u002B00:00", "security": false, "latest_release": "6.0", "releases": [ diff --git a/release-notes/timeline/2022/11/index.json b/release-notes/timeline/2022/11/index.json index 7548ab7bf..50b0ec2f3 100644 --- a/release-notes/timeline/2022/11/index.json +++ b/release-notes/timeline/2022/11/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2022-11", "year": "2022", "month": "11", + "date": "2022-11-08T00:00:00\u002B00:00", "security": false, "latest_release": "7.0", "releases": [ diff --git a/release-notes/timeline/2022/12/index.json b/release-notes/timeline/2022/12/index.json index 3749c66f3..414ae6a6e 100644 --- a/release-notes/timeline/2022/12/index.json +++ b/release-notes/timeline/2022/12/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2022-12", "year": "2022", "month": "12", + "date": "2022-12-13T00:00:00\u002B00:00", "security": false, "latest_release": "7.0", "releases": [ diff --git a/release-notes/timeline/2022/index.json b/release-notes/timeline/2022/index.json index cd888b98e..79fd63984 100644 --- a/release-notes/timeline/2022/index.json +++ b/release-notes/timeline/2022/index.json @@ -36,6 +36,7 @@ "months": [ { "month": "02", + "date": "2022-02-17T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "6.0", @@ -57,6 +58,7 @@ }, { "month": "03", + "date": "2022-03-15T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "6.0", @@ -80,6 +82,7 @@ }, { "month": "04", + "date": "2022-04-13T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "6.0", @@ -103,6 +106,7 @@ }, { "month": "05", + "date": "2022-05-10T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "6.0", @@ -126,6 +130,7 @@ }, { "month": "06", + "date": "2022-06-14T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "6.0", @@ -147,6 +152,7 @@ }, { "month": "07", + "date": "2022-07-12T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "6.0", @@ -168,6 +174,7 @@ }, { "month": "08", + "date": "2022-08-09T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "6.0", @@ -189,6 +196,7 @@ }, { "month": "09", + "date": "2022-09-14T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "6.0", @@ -210,6 +218,7 @@ }, { "month": "10", + "date": "2022-10-11T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "6.0", @@ -231,6 +240,7 @@ }, { "month": "11", + "date": "2022-11-08T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "7.0", @@ -252,6 +262,7 @@ }, { "month": "12", + "date": "2022-12-13T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "7.0", diff --git a/release-notes/timeline/2023/01/index.json b/release-notes/timeline/2023/01/index.json index 7ca4a7a27..9e1232d88 100644 --- a/release-notes/timeline/2023/01/index.json +++ b/release-notes/timeline/2023/01/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2023-01", "year": "2023", "month": "01", + "date": "2023-01-10T00:00:00\u002B00:00", "security": false, "latest_release": "7.0", "releases": [ diff --git a/release-notes/timeline/2023/02/index.json b/release-notes/timeline/2023/02/index.json index 04be0292c..ef0c97757 100644 --- a/release-notes/timeline/2023/02/index.json +++ b/release-notes/timeline/2023/02/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2023-02", "year": "2023", "month": "02", + "date": "2023-02-21T00:00:00\u002B00:00", "security": false, "latest_release": "7.0", "releases": [ diff --git a/release-notes/timeline/2023/03/index.json b/release-notes/timeline/2023/03/index.json index 552e0a57e..821122493 100644 --- a/release-notes/timeline/2023/03/index.json +++ b/release-notes/timeline/2023/03/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2023-03", "year": "2023", "month": "03", + "date": "2023-03-14T00:00:00\u002B00:00", "security": false, "latest_release": "7.0", "releases": [ diff --git a/release-notes/timeline/2023/04/index.json b/release-notes/timeline/2023/04/index.json index a4011b5d2..ca8f885fc 100644 --- a/release-notes/timeline/2023/04/index.json +++ b/release-notes/timeline/2023/04/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2023-04", "year": "2023", "month": "04", + "date": "2023-04-11T00:00:00\u002B00:00", "security": false, "latest_release": "7.0", "releases": [ diff --git a/release-notes/timeline/2023/05/index.json b/release-notes/timeline/2023/05/index.json index f16c762ea..b367ef6f7 100644 --- a/release-notes/timeline/2023/05/index.json +++ b/release-notes/timeline/2023/05/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2023-05", "year": "2023", "month": "05", + "date": "2023-05-16T00:00:00\u002B00:00", "security": false, "latest_release": "8.0", "releases": [ diff --git a/release-notes/timeline/2023/06/index.json b/release-notes/timeline/2023/06/index.json index 6b89ed4f2..a0f27d575 100644 --- a/release-notes/timeline/2023/06/index.json +++ b/release-notes/timeline/2023/06/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2023-06", "year": "2023", "month": "06", + "date": "2023-06-22T00:00:00\u002B00:00", "security": false, "latest_release": "7.0", "releases": [ diff --git a/release-notes/timeline/2023/07/index.json b/release-notes/timeline/2023/07/index.json index 7a1b8c87d..b16c5dd3d 100644 --- a/release-notes/timeline/2023/07/index.json +++ b/release-notes/timeline/2023/07/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2023-07", "year": "2023", "month": "07", + "date": "2023-07-11T00:00:00\u002B00:00", "security": false, "latest_release": "7.0", "releases": [ diff --git a/release-notes/timeline/2023/08/index.json b/release-notes/timeline/2023/08/index.json index 9132f900d..2402b2f9f 100644 --- a/release-notes/timeline/2023/08/index.json +++ b/release-notes/timeline/2023/08/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2023-08", "year": "2023", "month": "08", + "date": "2023-08-08T00:00:00\u002B00:00", "security": false, "latest_release": "7.0", "releases": [ diff --git a/release-notes/timeline/2023/09/index.json b/release-notes/timeline/2023/09/index.json index 2f591a8bc..6c8295873 100644 --- a/release-notes/timeline/2023/09/index.json +++ b/release-notes/timeline/2023/09/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2023-09", "year": "2023", "month": "09", + "date": "2023-09-14T00:00:00\u002B00:00", "security": false, "latest_release": "7.0", "releases": [ diff --git a/release-notes/timeline/2023/10/index.json b/release-notes/timeline/2023/10/index.json index a3fef4ea5..a5cb3e442 100644 --- a/release-notes/timeline/2023/10/index.json +++ b/release-notes/timeline/2023/10/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2023-10", "year": "2023", "month": "10", + "date": "2023-10-24T00:00:00\u002B00:00", "security": false, "latest_release": "7.0", "releases": [ diff --git a/release-notes/timeline/2023/11/index.json b/release-notes/timeline/2023/11/index.json index 60ce9c70a..ed49a337c 100644 --- a/release-notes/timeline/2023/11/index.json +++ b/release-notes/timeline/2023/11/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2023-11", "year": "2023", "month": "11", + "date": "2023-11-14T00:00:00\u002B00:00", "security": true, "cve_count": 3, "cve_records": [ diff --git a/release-notes/timeline/2023/index.json b/release-notes/timeline/2023/index.json index a78bac08e..221f62259 100644 --- a/release-notes/timeline/2023/index.json +++ b/release-notes/timeline/2023/index.json @@ -40,6 +40,7 @@ "months": [ { "month": "01", + "date": "2023-01-10T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "7.0", @@ -59,6 +60,7 @@ }, { "month": "02", + "date": "2023-02-21T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "7.0", @@ -80,6 +82,7 @@ }, { "month": "03", + "date": "2023-03-14T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "7.0", @@ -101,6 +104,7 @@ }, { "month": "04", + "date": "2023-04-11T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "7.0", @@ -122,6 +126,7 @@ }, { "month": "05", + "date": "2023-05-16T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "8.0", @@ -139,6 +144,7 @@ }, { "month": "06", + "date": "2023-06-22T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "7.0", @@ -162,6 +168,7 @@ }, { "month": "07", + "date": "2023-07-11T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "7.0", @@ -183,6 +190,7 @@ }, { "month": "08", + "date": "2023-08-08T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "7.0", @@ -204,6 +212,7 @@ }, { "month": "09", + "date": "2023-09-14T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "7.0", @@ -225,6 +234,7 @@ }, { "month": "10", + "date": "2023-10-24T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "7.0", @@ -248,6 +258,7 @@ }, { "month": "11", + "date": "2023-11-14T00:00:00\u002B00:00", "security": true, "cve_count": 3, "cve_records": [ diff --git a/release-notes/timeline/2024/01/index.json b/release-notes/timeline/2024/01/index.json index 397524235..e881e3dfb 100644 --- a/release-notes/timeline/2024/01/index.json +++ b/release-notes/timeline/2024/01/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2024-01", "year": "2024", "month": "01", + "date": "2024-01-09T00:00:00\u002B00:00", "security": true, "cve_count": 3, "cve_records": [ diff --git a/release-notes/timeline/2024/02/index.json b/release-notes/timeline/2024/02/index.json index 5265e6c87..56155c9cf 100644 --- a/release-notes/timeline/2024/02/index.json +++ b/release-notes/timeline/2024/02/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2024-02", "year": "2024", "month": "02", + "date": "2024-02-13T00:00:00\u002B00:00", "security": true, "cve_count": 2, "cve_records": [ diff --git a/release-notes/timeline/2024/03/index.json b/release-notes/timeline/2024/03/index.json index f9cc8aad2..2f7648c0e 100644 --- a/release-notes/timeline/2024/03/index.json +++ b/release-notes/timeline/2024/03/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2024-03", "year": "2024", "month": "03", + "date": "2024-03-12T00:00:00\u002B00:00", "security": true, "cve_count": 2, "cve_records": [ diff --git a/release-notes/timeline/2024/04/index.json b/release-notes/timeline/2024/04/index.json index 728c182b6..c4ac89f39 100644 --- a/release-notes/timeline/2024/04/index.json +++ b/release-notes/timeline/2024/04/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2024-04", "year": "2024", "month": "04", + "date": "2024-04-11T00:00:00\u002B00:00", "security": true, "cve_count": 1, "cve_records": [ diff --git a/release-notes/timeline/2024/05/index.json b/release-notes/timeline/2024/05/index.json index d5c89b1f2..099123421 100644 --- a/release-notes/timeline/2024/05/index.json +++ b/release-notes/timeline/2024/05/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2024-05", "year": "2024", "month": "05", + "date": "2024-05-28T00:00:00\u002B00:00", "security": true, "cve_count": 2, "cve_records": [ diff --git a/release-notes/timeline/2024/06/index.json b/release-notes/timeline/2024/06/index.json index bf8782e05..57a4945c5 100644 --- a/release-notes/timeline/2024/06/index.json +++ b/release-notes/timeline/2024/06/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2024-06", "year": "2024", "month": "06", + "date": "2024-06-11T00:00:00\u002B00:00", "security": false, "latest_release": "8.0", "releases": [ diff --git a/release-notes/timeline/2024/07/index.json b/release-notes/timeline/2024/07/index.json index 2b7825488..dce9eda74 100644 --- a/release-notes/timeline/2024/07/index.json +++ b/release-notes/timeline/2024/07/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2024-07", "year": "2024", "month": "07", + "date": "2024-07-09T00:00:00\u002B00:00", "security": true, "cve_count": 4, "cve_records": [ diff --git a/release-notes/timeline/2024/08/index.json b/release-notes/timeline/2024/08/index.json index 4170bad55..da388dac0 100644 --- a/release-notes/timeline/2024/08/index.json +++ b/release-notes/timeline/2024/08/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2024-08", "year": "2024", "month": "08", + "date": "2024-08-13T00:00:00\u002B00:00", "security": true, "cve_count": 2, "cve_records": [ diff --git a/release-notes/timeline/2024/09/index.json b/release-notes/timeline/2024/09/index.json index 0a34c9b06..c12d855c9 100644 --- a/release-notes/timeline/2024/09/index.json +++ b/release-notes/timeline/2024/09/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2024-09", "year": "2024", "month": "09", + "date": "2024-09-24T00:00:00\u002B00:00", "security": false, "latest_release": "8.0", "releases": [ diff --git a/release-notes/timeline/2024/10/index.json b/release-notes/timeline/2024/10/index.json index ab79f3dc9..c179f1b46 100644 --- a/release-notes/timeline/2024/10/index.json +++ b/release-notes/timeline/2024/10/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2024-10", "year": "2024", "month": "10", + "date": "2024-10-08T00:00:00\u002B00:00", "security": true, "cve_count": 4, "cve_records": [ diff --git a/release-notes/timeline/2024/11/index.json b/release-notes/timeline/2024/11/index.json index 9f02dc151..fe6299ffa 100644 --- a/release-notes/timeline/2024/11/index.json +++ b/release-notes/timeline/2024/11/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2024-11", "year": "2024", "month": "11", + "date": "2024-11-12T00:00:00\u002B00:00", "security": true, "cve_count": 2, "cve_records": [ diff --git a/release-notes/timeline/2024/12/index.json b/release-notes/timeline/2024/12/index.json index 6fb432d95..705c79301 100644 --- a/release-notes/timeline/2024/12/index.json +++ b/release-notes/timeline/2024/12/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2024-12", "year": "2024", "month": "12", + "date": "2024-12-03T00:00:00\u002B00:00", "security": false, "latest_release": "9.0", "releases": [ diff --git a/release-notes/timeline/2024/index.json b/release-notes/timeline/2024/index.json index a4404978c..9693dc16b 100644 --- a/release-notes/timeline/2024/index.json +++ b/release-notes/timeline/2024/index.json @@ -41,6 +41,7 @@ "months": [ { "month": "01", + "date": "2024-01-09T00:00:00\u002B00:00", "security": true, "cve_count": 3, "cve_records": [ @@ -72,6 +73,7 @@ }, { "month": "02", + "date": "2024-02-13T00:00:00\u002B00:00", "security": true, "cve_count": 2, "cve_records": [ @@ -104,6 +106,7 @@ }, { "month": "03", + "date": "2024-03-12T00:00:00\u002B00:00", "security": true, "cve_count": 2, "cve_records": [ @@ -136,6 +139,7 @@ }, { "month": "04", + "date": "2024-04-11T00:00:00\u002B00:00", "security": true, "cve_count": 1, "cve_records": [ @@ -167,6 +171,7 @@ }, { "month": "05", + "date": "2024-05-28T00:00:00\u002B00:00", "security": true, "cve_count": 2, "cve_records": [ @@ -201,6 +206,7 @@ }, { "month": "06", + "date": "2024-06-11T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "8.0", @@ -220,6 +226,7 @@ }, { "month": "07", + "date": "2024-07-09T00:00:00\u002B00:00", "security": true, "cve_count": 4, "cve_records": [ @@ -252,6 +259,7 @@ }, { "month": "08", + "date": "2024-08-13T00:00:00\u002B00:00", "security": true, "cve_count": 2, "cve_records": [ @@ -280,6 +288,7 @@ }, { "month": "09", + "date": "2024-09-24T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "8.0", @@ -299,6 +308,7 @@ }, { "month": "10", + "date": "2024-10-08T00:00:00\u002B00:00", "security": true, "cve_count": 4, "cve_records": [ @@ -331,6 +341,7 @@ }, { "month": "11", + "date": "2024-11-12T00:00:00\u002B00:00", "security": true, "cve_count": 2, "cve_records": [ @@ -359,6 +370,7 @@ }, { "month": "12", + "date": "2024-12-03T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "9.0", diff --git a/release-notes/timeline/2025/01/index.json b/release-notes/timeline/2025/01/index.json index e707a6d3a..f97d04d37 100644 --- a/release-notes/timeline/2025/01/index.json +++ b/release-notes/timeline/2025/01/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2025-01", "year": "2025", "month": "01", + "date": "2025-01-14T00:00:00\u002B00:00", "security": true, "cve_count": 4, "cve_records": [ diff --git a/release-notes/timeline/2025/02/index.json b/release-notes/timeline/2025/02/index.json index 033c7c537..8ad6ee803 100644 --- a/release-notes/timeline/2025/02/index.json +++ b/release-notes/timeline/2025/02/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2025-02", "year": "2025", "month": "02", + "date": "2025-02-25T00:00:00\u002B00:00", "security": false, "latest_release": "9.0", "releases": [ diff --git a/release-notes/timeline/2025/03/index.json b/release-notes/timeline/2025/03/index.json index c2cc12a7c..03542d3a1 100644 --- a/release-notes/timeline/2025/03/index.json +++ b/release-notes/timeline/2025/03/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2025-03", "year": "2025", "month": "03", + "date": "2025-03-18T00:00:00\u002B00:00", "security": true, "cve_count": 1, "cve_records": [ diff --git a/release-notes/timeline/2025/04/index.json b/release-notes/timeline/2025/04/index.json index 4b395ebbd..0bda60a93 100644 --- a/release-notes/timeline/2025/04/index.json +++ b/release-notes/timeline/2025/04/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2025-04", "year": "2025", "month": "04", + "date": "2025-04-10T00:00:00\u002B00:00", "security": true, "cve_count": 1, "cve_records": [ diff --git a/release-notes/timeline/2025/05/index.json b/release-notes/timeline/2025/05/index.json index 3f33692a1..f5e352bbb 100644 --- a/release-notes/timeline/2025/05/index.json +++ b/release-notes/timeline/2025/05/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2025-05", "year": "2025", "month": "05", + "date": "2025-05-22T00:00:00\u002B00:00", "security": true, "cve_count": 1, "cve_records": [ diff --git a/release-notes/timeline/2025/06/index.json b/release-notes/timeline/2025/06/index.json index 6d7ac0521..ac81d81f2 100644 --- a/release-notes/timeline/2025/06/index.json +++ b/release-notes/timeline/2025/06/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2025-06", "year": "2025", "month": "06", + "date": "2025-06-10T00:00:00\u002B00:00", "security": true, "cve_count": 1, "cve_records": [ diff --git a/release-notes/timeline/2025/07/index.json b/release-notes/timeline/2025/07/index.json index f8fd27f3e..5f612d4c9 100644 --- a/release-notes/timeline/2025/07/index.json +++ b/release-notes/timeline/2025/07/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2025-07", "year": "2025", "month": "07", + "date": "2025-07-17T00:00:00\u002B00:00", "security": false, "latest_release": "9.0", "releases": [ diff --git a/release-notes/timeline/2025/08/index.json b/release-notes/timeline/2025/08/index.json index 92c657edb..1aa37a811 100644 --- a/release-notes/timeline/2025/08/index.json +++ b/release-notes/timeline/2025/08/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2025-08", "year": "2025", "month": "08", + "date": "2025-08-12T00:00:00\u002B00:00", "security": false, "latest_release": "9.0", "releases": [ diff --git a/release-notes/timeline/2025/09/index.json b/release-notes/timeline/2025/09/index.json index a3623b44b..5be0d2f74 100644 --- a/release-notes/timeline/2025/09/index.json +++ b/release-notes/timeline/2025/09/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2025-09", "year": "2025", "month": "09", + "date": "2025-09-09T00:00:00\u002B00:00", "security": false, "latest_release": "9.0", "releases": [ diff --git a/release-notes/timeline/2025/10/index.json b/release-notes/timeline/2025/10/index.json index e5c98e4b6..011d9d06c 100644 --- a/release-notes/timeline/2025/10/index.json +++ b/release-notes/timeline/2025/10/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2025-10", "year": "2025", "month": "10", + "date": "2025-10-14T00:00:00\u002B00:00", "security": true, "cve_count": 3, "cve_records": [ @@ -60,8 +61,12 @@ "release": "10.0", "year": "2025", "month": "10", - "security": false, - "cve_count": 0, + "security": true, + "cve_count": 2, + "cve_records": [ + "CVE-2025-55315", + "CVE-2025-55247" + ], "support_phase": "go-live", "sdk_version": "10.0.100-rc.2.25502.107", "_links": { @@ -154,8 +159,8 @@ "cvss_severity": "MEDIUM", "disclosure_date": "2025-10-14", "affected_releases": [ - "8.0", - "9.0" + "9.0", + "8.0" ], "affected_products": [ "dotnet-runtime" @@ -192,8 +197,9 @@ "cvss_severity": "CRITICAL", "disclosure_date": "2025-10-14", "affected_releases": [ - "8.0", - "9.0" + "10.0", + "9.0", + "8.0" ], "affected_products": [ "dotnet-aspnetcore" @@ -249,8 +255,9 @@ "cvss_severity": "HIGH", "disclosure_date": "2025-10-14", "affected_releases": [ - "8.0", - "9.0" + "10.0", + "9.0", + "8.0" ], "affected_products": [ "dotnet-sdk" diff --git a/release-notes/timeline/2025/11/index.json b/release-notes/timeline/2025/11/index.json index 1f651b830..d24c05dcf 100644 --- a/release-notes/timeline/2025/11/index.json +++ b/release-notes/timeline/2025/11/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2025-11", "year": "2025", "month": "11", + "date": "2025-11-19T00:00:00\u002B00:00", "security": false, "latest_release": "10.0", "releases": [ diff --git a/release-notes/timeline/2025/12/index.json b/release-notes/timeline/2025/12/index.json index 692c894ac..639226fe8 100644 --- a/release-notes/timeline/2025/12/index.json +++ b/release-notes/timeline/2025/12/index.json @@ -4,6 +4,7 @@ "title": ".NET Release Timeline Index - 2025-12", "year": "2025", "month": "12", + "date": "2025-12-09T00:00:00\u002B00:00", "security": false, "latest_release": "10.0", "releases": [ diff --git a/release-notes/timeline/2025/index.json b/release-notes/timeline/2025/index.json index 5922c0220..f7cee2a7a 100644 --- a/release-notes/timeline/2025/index.json +++ b/release-notes/timeline/2025/index.json @@ -40,6 +40,7 @@ "months": [ { "month": "01", + "date": "2025-01-14T00:00:00\u002B00:00", "security": true, "cve_count": 4, "cve_records": [ @@ -70,6 +71,7 @@ }, { "month": "02", + "date": "2025-02-25T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "9.0", @@ -91,6 +93,7 @@ }, { "month": "03", + "date": "2025-03-18T00:00:00\u002B00:00", "security": true, "cve_count": 1, "cve_records": [ @@ -120,6 +123,7 @@ }, { "month": "04", + "date": "2025-04-10T00:00:00\u002B00:00", "security": true, "cve_count": 1, "cve_records": [ @@ -149,6 +153,7 @@ }, { "month": "05", + "date": "2025-05-22T00:00:00\u002B00:00", "security": true, "cve_count": 1, "cve_records": [ @@ -178,6 +183,7 @@ }, { "month": "06", + "date": "2025-06-10T00:00:00\u002B00:00", "security": true, "cve_count": 1, "cve_records": [ @@ -207,6 +213,7 @@ }, { "month": "07", + "date": "2025-07-17T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "9.0", @@ -228,6 +235,7 @@ }, { "month": "08", + "date": "2025-08-12T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "9.0", @@ -249,6 +257,7 @@ }, { "month": "09", + "date": "2025-09-09T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "9.0", @@ -270,6 +279,7 @@ }, { "month": "10", + "date": "2025-10-14T00:00:00\u002B00:00", "security": true, "cve_count": 3, "cve_records": [ @@ -301,6 +311,7 @@ }, { "month": "11", + "date": "2025-11-19T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "10.0", @@ -322,6 +333,7 @@ }, { "month": "12", + "date": "2025-12-09T00:00:00\u002B00:00", "security": false, "cve_count": 0, "latest_release": "10.0",