Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revise version language #5434

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
107 changes: 107 additions & 0 deletions src/_data/macos.json
Original file line number Diff line number Diff line change
@@ -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}]
159 changes: 88 additions & 71 deletions src/get-dart/index.md
Original file line number Diff line number Diff line change
@@ -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}}
Expand All @@ -49,76 +42,100 @@ in its `bin` folder.
{% include_relative _mac.md %}
</div>

## 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.<br>
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).<br>
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.<beta|dev>` 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