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