{
  "schema_version": "sg_core_lifecycle.v1",
  "dataset": "sg-core-lifecycle",
  "methodology_version": "1.0.0",
  "observed_at": "2026-10-01T09:44:30Z",
  "sources": {
    "lifecycle": {
      "url": "https://bitcoincore.org/en/lifecycle/",
      "served_at": "2026-10-01T09:44:28Z",
      "last_modified": "2026-05-11T15:23:26Z",
      "licence": "MIT",
      "licence_url": "https://opensource.org/license/mit"
    },
    "security_advisories": {
      "url": "https://bitcoincore.org/en/security-advisories/",
      "served_at": "2026-10-01T09:44:30Z",
      "last_modified": "2026-05-11T15:23:27Z",
      "licence": "MIT",
      "licence_url": "https://opensource.org/license/mit"
    },
    "knots_releases": {
      "url": "https://github.com/bitcoinknots/bitcoin/releases.atom",
      "served_at": "2026-10-01T09:44:23Z",
      "last_modified": null,
      "licence": "MIT",
      "licence_url": "https://opensource.org/license/mit"
    }
  },
  "core_lines": [
    {
      "line": "32.x",
      "major": "32",
      "release_date": null,
      "release_note": "TBA",
      "maintenance_end": null,
      "end_of_life": {
        "date": null,
        "condition": "after v35.0",
        "after_major": "35"
      }
    },
    {
      "line": "31.x",
      "major": "31",
      "release_date": "2026-04-19",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": null,
        "condition": "after v34.0",
        "after_major": "34"
      }
    },
    {
      "line": "30.x",
      "major": "30",
      "release_date": "2025-10-10",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": null,
        "condition": "after v33.0",
        "after_major": "33"
      }
    },
    {
      "line": "29.x",
      "major": "29",
      "release_date": "2025-04-14",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": null,
        "condition": "after v32.0",
        "after_major": "32"
      }
    },
    {
      "line": "28.x",
      "major": "28",
      "release_date": "2024-10-02",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2026-04-19",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "27.x",
      "major": "27",
      "release_date": "2024-04-16",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2025-10-10",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "26.x",
      "major": "26",
      "release_date": "2023-12-06",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2025-04-14",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "25.x",
      "major": "25",
      "release_date": "2023-05-18",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2024-10-02",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "24.x",
      "major": "24",
      "release_date": "2022-11-24",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2024-04-02",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "23.x",
      "major": "23",
      "release_date": "2022-04-25",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2023-12-01",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "22.x",
      "major": "22",
      "release_date": "2021-09-13",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2023-04-01",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "0.21.x",
      "major": "0.21",
      "release_date": "2021-01-15",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2022-10-01",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "0.20.x",
      "major": "0.20",
      "release_date": "2020-06-03",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2022-02-01",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "0.19.x",
      "major": "0.19",
      "release_date": "2019-11-24",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2021-08-01",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "0.18.x",
      "major": "0.18",
      "release_date": "2019-05-02",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2021-02-01",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "0.17.x",
      "major": "0.17",
      "release_date": "2018-10-03",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2020-08-01",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "0.16.x",
      "major": "0.16",
      "release_date": "2018-02-26",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2020-02-01",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "0.15.x",
      "major": "0.15",
      "release_date": "2017-09-15",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2019-08-01",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "0.14.x",
      "major": "0.14",
      "release_date": "2017-03-08",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2019-02-01",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "0.13.x",
      "major": "0.13",
      "release_date": "2016-08-23",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2018-08-01",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "0.12.x",
      "major": "0.12",
      "release_date": "2016-02-23",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2018-02-28",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "0.11.x",
      "major": "0.11",
      "release_date": "2015-07-12",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2017-08-01",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "0.10.x",
      "major": "0.10",
      "release_date": "2015-02-16",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2017-02-28",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "0.9.x",
      "major": "0.9",
      "release_date": "2014-03-19",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2016-02-28",
        "condition": null,
        "after_major": null
      }
    },
    {
      "line": "0.8.x",
      "major": "0.8",
      "release_date": "2013-02-19",
      "release_note": null,
      "maintenance_end": null,
      "end_of_life": {
        "date": "2015-12-31",
        "condition": null,
        "after_major": null
      }
    }
  ],
  "security_advisories": [
    {
      "title": "CVE-2024-52911 - Script Interpreter Remote Crash",
      "url": "https://bitcoincore.org/en/2026/05/05/disclose-cve-2024-52911/",
      "posted": "2026-05-05",
      "cve_ids": [
        "CVE-2024-52911"
      ]
    },
    {
      "title": "CVE-2025-46597 - Highly unlikely remote crash on 32-bit systems",
      "url": "https://bitcoincore.org/en/2025/10/24/disclose-cve-2025-46597/",
      "posted": "2025-10-24",
      "cve_ids": [
        "CVE-2025-46597"
      ]
    },
    {
      "title": "CVE-2025-46598 - CPU DoS from unconfirmed transaction processing",
      "url": "https://bitcoincore.org/en/2025/10/24/disclose-cve-2025-46598/",
      "posted": "2025-10-24",
      "cve_ids": [
        "CVE-2025-46598"
      ]
    },
    {
      "title": "CVE-2025-54604 - Disk filling from spoofed self connections",
      "url": "https://bitcoincore.org/en/2025/10/24/disclose-cve-2025-54604/",
      "posted": "2025-10-24",
      "cve_ids": [
        "CVE-2025-54604"
      ]
    },
    {
      "title": "CVE-2025-54605 - Disk filling from invalid blocks",
      "url": "https://bitcoincore.org/en/2025/10/24/disclose-cve-2025-54605/",
      "posted": "2025-10-24",
      "cve_ids": [
        "CVE-2025-54605"
      ]
    },
    {
      "title": "CVE-2024-52919 - Remote crash due to addr message spam (part 2)",
      "url": "https://bitcoincore.org/en/2025/04/28/disclose-cve-2024-52919/",
      "posted": "2025-04-28",
      "cve_ids": [
        "CVE-2024-52919"
      ]
    },
    {
      "title": "CVE-2024-52922 - Hindered block propagation due to stalling peers",
      "url": "https://bitcoincore.org/en/2024/11/05/cb-stall-hindering-propagation/",
      "posted": "2024-11-05",
      "cve_ids": [
        "CVE-2024-52922"
      ]
    },
    {
      "title": "Disclosure of CVE-2024-35202",
      "url": "https://bitcoincore.org/en/2024/10/08/disclose-blocktxn-crash/",
      "posted": "2024-10-08",
      "cve_ids": [
        "CVE-2024-35202"
      ]
    },
    {
      "title": "Disclosure of DoS due to inv-to-send sets growing too large",
      "url": "https://bitcoincore.org/en/2024/10/08/disclose-large-inv-to-send/",
      "posted": "2024-10-08",
      "cve_ids": []
    },
    {
      "title": "CVE-2024-52921 - Hindered block propagation due to mutated blocks",
      "url": "https://bitcoincore.org/en/2024/10/08/disclose-mutated-blocks-hindering-propagation/",
      "posted": "2024-10-08",
      "cve_ids": [
        "CVE-2024-52921"
      ]
    },
    {
      "title": "CVE-2019-25220 - Memory DoS due to headers spam",
      "url": "https://bitcoincore.org/en/2024/09/18/disclose-headers-oom/",
      "posted": "2024-09-18",
      "cve_ids": [
        "CVE-2019-25220"
      ]
    },
    {
      "title": "CVE-2024-52919 - Remote crash due to addr message spam",
      "url": "https://bitcoincore.org/en/2024/07/31/disclose-addrman-int-overflow/",
      "posted": "2024-07-31",
      "cve_ids": [
        "CVE-2024-52919"
      ]
    },
    {
      "title": "CVE-2024-52917 - Infinite loop bug in the miniupnp dependency",
      "url": "https://bitcoincore.org/en/2024/07/31/disclose-upnp-oom/",
      "posted": "2024-07-31",
      "cve_ids": [
        "CVE-2024-52917"
      ]
    },
    {
      "title": "CVE-2024-52918 - Crash using malicious BIP72 URI",
      "url": "https://bitcoincore.org/en/2024/07/03/disclose-bip70-crash/",
      "posted": "2024-07-03",
      "cve_ids": [
        "CVE-2024-52918"
      ]
    },
    {
      "title": "CVE-2024-52920 - DoS using huge GETDATA messages",
      "url": "https://bitcoincore.org/en/2024/07/03/disclose-getdata-cpu/",
      "posted": "2024-07-03",
      "cve_ids": [
        "CVE-2024-52920"
      ]
    },
    {
      "title": "CVE-2024-52916 - Memory DoS using low-difficulty headers",
      "url": "https://bitcoincore.org/en/2024/07/03/disclose-header-spam/",
      "posted": "2024-07-03",
      "cve_ids": [
        "CVE-2024-52916"
      ]
    },
    {
      "title": "CVE-2024-52915 - Memory DoS using huge INV messages",
      "url": "https://bitcoincore.org/en/2024/07/03/disclose-inv-buffer-blowup/",
      "posted": "2024-07-03",
      "cve_ids": [
        "CVE-2024-52915"
      ]
    },
    {
      "title": "CVE-2024-52914 - Significant DoS due to orphan handling",
      "url": "https://bitcoincore.org/en/2024/07/03/disclose-orphan-dos/",
      "posted": "2024-07-03",
      "cve_ids": [
        "CVE-2024-52914"
      ]
    },
    {
      "title": "CVE-2024-52912 - Netsplit due to timestamp adjustment",
      "url": "https://bitcoincore.org/en/2024/07/03/disclose-timestamp-overflow/",
      "posted": "2024-07-03",
      "cve_ids": [
        "CVE-2024-52912"
      ]
    },
    {
      "title": "Disclosure of CVE-2020-14198",
      "url": "https://bitcoincore.org/en/2024/07/03/disclose-unbounded-banlist/",
      "posted": "2024-07-03",
      "cve_ids": [
        "CVE-2020-14198"
      ]
    },
    {
      "title": "CVE-2024-52913 - Censorship due to transaction re-request handling",
      "url": "https://bitcoincore.org/en/2024/07/03/disclose_already_asked_for/",
      "posted": "2024-07-03",
      "cve_ids": [
        "CVE-2024-52913"
      ]
    },
    {
      "title": "Disclosure of CVE-2015-3641",
      "url": "https://bitcoincore.org/en/2024/07/03/disclose_receive_buffer_oom/",
      "posted": "2024-07-03",
      "cve_ids": [
        "CVE-2015-3641"
      ]
    },
    {
      "title": "CVE-2015-20111 - Remote code execution due to bug in miniupnpc",
      "url": "https://bitcoincore.org/en/2024/07/03/disclose_upnp_rce/",
      "posted": "2024-07-03",
      "cve_ids": [
        "CVE-2015-20111"
      ]
    },
    {
      "title": "Disclosure of CVE-2017-18350",
      "url": "https://bitcoincore.org/en/2019/11/08/CVE-2017-18350/",
      "posted": "2019-11-08",
      "cve_ids": [
        "CVE-2017-18350"
      ]
    },
    {
      "title": "Disclosure of CVE-2018-17144",
      "url": "https://bitcoincore.org/en/2018/09/20/notice/",
      "posted": "2018-09-20",
      "cve_ids": [
        "CVE-2018-17144"
      ]
    }
  ],
  "knots_releases": [
    {
      "tag": "v29.4.2.knots20260508",
      "title": "Bitcoin Knots v29.4.2.knots20260508",
      "url": "https://github.com/bitcoinknots/bitcoin/releases/tag/v29.4.2.knots20260508",
      "feed_updated": "2026-09-21T22:21:20Z",
      "prerelease": false,
      "core_base": "29.4.2",
      "version_date": "2026-05-08"
    },
    {
      "tag": "v29.4.2.knots20260508rc2",
      "title": "v29.4.2.knots20260508rc2",
      "url": "https://github.com/bitcoinknots/bitcoin/releases/tag/v29.4.2.knots20260508rc2",
      "feed_updated": "2026-09-20T04:30:41Z",
      "prerelease": true,
      "core_base": "29.4.2",
      "version_date": "2026-05-08"
    },
    {
      "tag": "v29.4.2.knots20260508rc1",
      "title": "v29.4.2.knots20260508rc1",
      "url": "https://github.com/bitcoinknots/bitcoin/releases/tag/v29.4.2.knots20260508rc1",
      "feed_updated": "2026-09-19T15:04:55Z",
      "prerelease": true,
      "core_base": "29.4.2",
      "version_date": "2026-05-08"
    },
    {
      "tag": "v29.4.1.knots20260508",
      "title": "Bitcoin Knots v29.4.1.knots20260508",
      "url": "https://github.com/bitcoinknots/bitcoin/releases/tag/v29.4.1.knots20260508",
      "feed_updated": "2026-09-03T04:07:48Z",
      "prerelease": false,
      "core_base": "29.4.1",
      "version_date": "2026-05-08"
    },
    {
      "tag": "v29.4.1.knots20260508rc5",
      "title": "v29.4.1.knots20260508rc5",
      "url": "https://github.com/bitcoinknots/bitcoin/releases/tag/v29.4.1.knots20260508rc5",
      "feed_updated": "2026-09-01T00:56:12Z",
      "prerelease": true,
      "core_base": "29.4.1",
      "version_date": "2026-05-08"
    },
    {
      "tag": "v29.4.1.knots20260508rc4",
      "title": "v29.4.1.knots20260508rc4",
      "url": "https://github.com/bitcoinknots/bitcoin/releases/tag/v29.4.1.knots20260508rc4",
      "feed_updated": "2026-08-30T02:09:55Z",
      "prerelease": true,
      "core_base": "29.4.1",
      "version_date": "2026-05-08"
    },
    {
      "tag": "v29.4.1.knots20260508rc3",
      "title": "v29.4.1.knots20260508rc3",
      "url": "https://github.com/bitcoinknots/bitcoin/releases/tag/v29.4.1.knots20260508rc3",
      "feed_updated": "2026-08-27T05:44:21Z",
      "prerelease": true,
      "core_base": "29.4.1",
      "version_date": "2026-05-08"
    },
    {
      "tag": "v29.4.1.knots20260508rc2",
      "title": "v29.4.1.knots20260508rc2",
      "url": "https://github.com/bitcoinknots/bitcoin/releases/tag/v29.4.1.knots20260508rc2",
      "feed_updated": "2026-08-22T05:29:45Z",
      "prerelease": true,
      "core_base": "29.4.1",
      "version_date": "2026-05-08"
    },
    {
      "tag": "v29.4.1.knots20260508rc1",
      "title": "v29.4.1.knots20260508rc1",
      "url": "https://github.com/bitcoinknots/bitcoin/releases/tag/v29.4.1.knots20260508rc1",
      "feed_updated": "2026-08-21T03:54:17Z",
      "prerelease": true,
      "core_base": "29.4.1",
      "version_date": "2026-05-08"
    },
    {
      "tag": "v29.4.knots20260508",
      "title": "Bitcoin Knots v29.4.knots20260508",
      "url": "https://github.com/bitcoinknots/bitcoin/releases/tag/v29.4.knots20260508",
      "feed_updated": "2026-08-08T15:50:57Z",
      "prerelease": false,
      "core_base": "29.4",
      "version_date": "2026-05-08"
    }
  ],
  "notes": {
    "maintenance_end": "bitcoincore.org's table lists release and end-of-life dates only. Under the page's policy the latest three majors are maintained, and a line leaves maintenance when it reaches end of life; no separate maintenance-end date is published, so none is recorded.",
    "end_of_life": "Where the table gives a condition instead of a date ('after v34.0'), the line stays maintained until the table dates that major's release. The date is never projected.",
    "security_advisories": "The past advisories as bitcoincore.org's index lists them, newest first. The date is the post's, from its URL; severity and fixed-in versions live in each post and are not parsed here.",
    "knots_releases": "Releases in the Bitcoin Knots GitHub releases feed, which carries only the most recent entries; releases that have left the feed stay as last recorded. The feed date is GitHub's time for the entry's last update, which can be later than the day the release was published. The date inside a Knots tag is its version date, not a release date."
  }
}
