diff --git a/src/_data/macos.json b/src/_data/macos.json
new file mode 100644
index 0000000000..5b31eae978
--- /dev/null
+++ b/src/_data/macos.json
@@ -0,0 +1,107 @@
+[
+ {
+ "cycle":"14",
+ "codename":"Sonoma",
+ "releaseDate":"2023-09-26",
+ "eol":false,
+ "latest":"14.2.1",
+ "latestReleaseDate":"2023-12-19",
+ "link":"https://support.apple.com/HT213895",
+ "lts":false
+ },
+ {
+ "cycle":"13",
+ "codename":"Ventura",
+ "releaseDate":"2022-10-24",
+ "eol":false,
+ "latest":"13.6.3",
+ "latestReleaseDate":"2023-12-11",
+ "link":"https://support.apple.com/HT213268",
+ "lts":false
+ },
+ {
+ "cycle":"12",
+ "codename":"Monterey",
+ "releaseDate":"2021-10-25",
+ "eol":false,
+ "latest":"12.7.2",
+ "latestReleaseDate":"2023-12-11",
+ "link":"https://support.apple.com/HT212585",
+ "lts":false
+ },
+ {
+ "cycle":"11",
+ "codename":"Big Sur",
+ "releaseDate":"2020-11-12",
+ "eol":"2023-09-26",
+ "latest":"11.7.10",
+ "latestReleaseDate":"2023-09-11",
+ "link":"https://support.apple.com/HT211896",
+ "lts":false
+ },
+ {
+ "cycle":"10.15",
+ "codename":"Catalina",
+ "releaseDate":"2019-10-07",
+ "eol":"2022-09-12",
+ "latest":"10.15.7",
+ "latestReleaseDate":"2020-09-24",
+ "link":"https://support.apple.com/HT210642",
+ "lts":false
+ },
+ {
+ "cycle":"10.14",
+ "codename":"Mojave",
+ "releaseDate":"2018-09-24",
+ "eol":"2021-10-25",
+ "latest":"10.14.6",
+ "latestReleaseDate":"2019-07-22",
+ "lts":false
+ },
+ {
+ "cycle":"10.13",
+ "codename":"High Sierra",
+ "releaseDate":"2017-09-25",
+ "eol":"2020-12-01",
+ "latest":"10.13.6",
+ "latestReleaseDate":"2018-07-09",
+ "lts":false
+ },
+ {
+ "cycle":"10.12",
+ "codename":"Sierra",
+ "releaseDate":"2016-09-20",
+ "eol":"2019-10-01",
+ "latest":"10.12.6",
+ "latestReleaseDate":"2017-07-19",
+ "lts":false
+ },
+ {
+ "cycle":"10.11",
+ "codename":"El Capitan",
+ "releaseLabel":"OS X __RELEASE_CYCLE__ (__CODENAME__)",
+ "releaseDate":"2015-09-30",
+ "eol":"2018-12-01",
+ "latest":"10.11.6",
+ "latestReleaseDate":"2016-07-18",
+ "lts":false
+ },
+ {
+ "cycle":"10.10",
+ "releaseLabel":"OS X __RELEASE_CYCLE__ (__CODENAME__)",
+ "codename":"Yosemite",
+ "releaseDate":"2014-10-16",
+ "eol":"2017-08-01",
+ "latest":"10.10.5",
+ "latestReleaseDate":"2015-08-13",
+ "lts":false
+ },
+ {
+ "cycle":"10.9",
+ "releaseLabel":"OS X __RELEASE_CYCLE__ (__CODENAME__)",
+ "codename":"Mavericks",
+ "releaseDate":"2013-10-22",
+ "eol":"2016-12-01",
+ "latest":"10.9.5",
+ "latestReleaseDate":"2014-09-17",
+ "lts":false}]
\ No newline at end of file
diff --git a/src/get-dart/index.md b/src/get-dart/index.md
index 93d9a30d27..1e99afab81 100644
--- a/src/get-dart/index.md
+++ b/src/get-dart/index.md
@@ -1,35 +1,28 @@
---
title: Get the Dart SDK
description: Get the libraries and command-line tools that you need to develop Dart web, command-line, and server apps.
+channel-list: [Stable, Beta, Dev]
js:
- url: /assets/js/get-dart/install.js
defer: true
---
This page describes how to download the Dart SDK.
-The Dart SDK has the libraries and command-line tools that you need to develop
+The Dart SDK includes the libraries and command-line tools to develop
Dart command-line, server, and non-Flutter web apps.
-For details, see the [Dart SDK overview](/tools/sdk).
+
+To learn more about the SDK, check out the [Dart SDK overview](/tools/sdk).
## Installing the Dart SDK {#install}
-As the following instructions show,
-you can use a package manager
-to easily install and update a stable channel Dart SDK.
-Alternatively, you can
-[build the SDK from source][],
-grab a [Dart Docker image][], or
-install from [any release channel](#release-channels) by
-[downloading the SDK as a zip file][].
+To install and update a stable channel Dart SDK,
+use a package manager.
+
{% comment %}
NOTE to editors: Keep the zip file link as the last thing in the paragraph,
so it's easy to find (but not more tempting than package managers).
{% endcomment %}
-*Note*: The Flutter SDK includes the full Dart SDK,
-and has Dart's [`dart`](/tools/dart-tool) command-line interface
-in its `bin` folder.
-
{{site.alert.warn}}
{% include_relative archive/_sdk-terms.md %}
{{site.alert.end}}
@@ -49,76 +42,100 @@ in its `bin` folder.
{% include_relative _mac.md %}
-## System requirements
+Other options to install Dart include
+[building the SDK from source][build-source],
+using a [Dart Docker image][], or
+installing from [any release channel](#release-channels) by
+[downloading the SDK as a zip file][download].
+
+{{site.alert.note}}
+The [Flutter SDK][flutter] includes the full Dart SDK.
+Flutter installs place Dart's [`dart`](/tools/dart-tool)
+command-line interface in its `bin` directory.
+{{site.alert.end}}
-The Dart SDK is supported on Windows, Linux, and macOS.
+## System requirements
-### Windows
+The Windows, Linux, and macOS support the Dart SDK.
-* **Supported versions:** Windows 10 and 11.
-* **Supported architectures:** x64, IA32, ARM64.
- Support for ARM64 is in preview, and is available only in the dev and beta channels.
+### Supported architectures
-### Linux
+| Platform | x86 | x64 | ARM | ARM64 | RISC-V |
+|----------|-----|-----|-----|-----------|-----------|
+| Windows | Yes | Yes | No | Dev, Beta | No |
+| Linux | Yes | Yes | Yes | Yes | Dev, Beta |
+| macOS | No | Yes | No | Yes | No |
+{:.table .table-striped}
-* **Supported versions:** [Debian stable][] and [Ubuntu LTS][] under standard support.
-* **Supported architectures:** x64, IA32, ARM64, ARM, RISC-V (RV64GC).
- Support for RISC-V is in preview, and is available only in the dev and beta channels.
+### Supported operating systems
-### macOS
+| Platform | OS Versions |
+|----------|------------------------------------------|
+| Windows | 10, 11 |
+| Linux | [Debian stable][], [Ubuntu LTS][] |
+| macOS | {% for version in site.data.macos %}{% if version.eol == true %}{% break %}{%- else -%}{{version.cycle}} ({{version.codename}}){% endif %},{% endfor %} |
+{:.table .table-striped}
-* **Supported versions:** Latest three major versions.
-Dart supports the following macOS versions as of November 2023:
- - macOS 12 (Monterey)
- - macOS 13 (Ventura)
- - macOS 14 (Sonoma)
-* **Supported architectures:** x64, ARM64.
+## Release channels and version strings {#release-channels}
-## About release channels and version strings {#release-channels}
+All Dart versions follow [semantic versioning][semvar].
The Dart SDK has three release channels:
+**stable** (production), **beta** (preview), and **dev** (latest).
-* **Stable** channel: **stable releases**, updated roughly every three months;
- currently `[calculating]`{:.build-rev-stable}.
-
- Stable releases are suitable for production use.
-
-* **Beta** channel: **preview releases**, usually updated every month;
- currently `[calculating]`{:.build-rev-beta}.
-
- Beta channel builds are preview builds for the stable channel. We recommend
- testing, but not releasing, your apps against beta to preview new features or
- test compatibility with future releases.
-
-* **Dev** channel: **prereleases**, usually updated twice a week;
- currently `[calculating]`{:.build-rev-dev}.
-
- Dev channel releases are the most current with latest changes, may be broken,
- are unsupported, and may contain unvetted breaking changes.
-
-**Stable** channel releases of the Dart SDK have `x.y.z` version strings like
-`1.24.3` and `2.1.0`. They consist of dot-separated integers, with no hyphens or
-letters, where `x` is the major version, `y` is the minor version, and `z` is
-the patch version.
-
-**Beta** and **dev** channel releases of the Dart SDK (non-stable releases) have
-`x.y.z-a.b.` versions like `2.8.0-20.11.beta`. The part before the
-hyphen follows the stable version scheme, `a` and `b` after the hyphen are the
-prerelease and prerelease patch versions, and `beta` or `dev` is the channel.
-
-You can get stable channel releases using
-the [instructions above](#install), or you can
-get stable, beta, or dev channel releases
-using [a package manager][] or [Dart Docker image][], or
-by [downloading the SDK as a zip file][].
-
-[SDK constraints]: /tools/pub/pubspec#sdk-constraints
-[build the SDK from source]: https://github.com/dart-lang/sdk/wiki/Building
-[Dart libraries]: /libraries
+{% for channel in page.channel-list %}
+{% assign chnl = channel | downcase -%}
+
+{% assign current="`[calculating]`{:.build-rev-" | append: chnl | append: "}" %}
+{% case chnl %}
+{% when 'stable' %}
+{% assign verstring = "`x.y.z`" %}
+{% assign examples = "`1.24.3` and `2.1.0`" %}
+{% when 'beta' %}
+{% assign verstring = "`x.y.z-a.b.beta`" %}
+{% assign examples = "`2.8.0-20.11.beta` and `3.3.0-205.1.beta`" %}
+{% assign verdesc = "pre-release" %}
+{% when 'dev' %}
+{% assign verstring = "`x.y.z-a.b.dev`" %}
+{% assign examples = "`2.8.0-20.11.dev` and `3.2.12-15.33.dev`" %}
+{% assign verdesc = "development" %}
+{% endcase %}
+
+### {{channel}} channel
+
+Dart publishes a new release to the *{{chnl}}* channel about every three months.
+The current {{chnl}} version is {{current}}.
+
+Use stable channel releases for production environments.
+
+**{{channel}}** channel release version strings follow a {{verstring}} format:
+
+* `x` : major version
+* `y` : minor version
+* `z` : patch version
+{% if chnl != 'stable' %}
+* `a` : {{verdesc}} version
+* `b` : {{verdesc}} patch version
+{% endif %}
+
+Examples of {{chnl}} channel version strings include {{example}}.
+
+{% endfor -%}
+
+## How to get different channel releases
+
+To get stable channel releases, use the [previous instructions](#install).
+To get stable, beta, or dev channel releases,
+use a [package manager][], use a [Dart Docker image][], or
+[download the SDK as a zip file][download].
+
+[semvar]: /tools/pub/versioning#semantic-versions
+[build-source]: https://github.com/dart-lang/sdk/wiki/Building
[Dart Docker image]: https://hub.docker.com/_/dart
-[downloading the SDK as a zip file]: /get-dart/archive
+[download]: /get-dart/archive
[Debian stable]: https://www.debian.org/releases
[Ubuntu LTS]: https://wiki.ubuntu.com/Releases
[flutter]: https://flutter.dev/docs/get-started/install
+[package manager]: https://github.com/dart-lang/sdk/wiki/Installing-beta-and-dev-releases-with-brew,-choco,-and-apt-get
+[Dart libraries]: /libraries
[site SDK version]: {{site.dart-api}}/{{site.data.pkg-vers.SDK.channel}}/{{site.data.pkg-vers.SDK.vers}}/index.html
-[a package manager]: https://github.com/dart-lang/sdk/wiki/Installing-beta-and-dev-releases-with-brew,-choco,-and-apt-get