dart-lang / site-www

Source for Dart website
https://dart.dev
Other
969 stars 702 forks source link

Site still links to 2.10 version of Dart spec #6088

Open sfshaza2 opened 2 months ago

sfshaza2 commented 2 months ago

Page URL

https://dart.dev/guides/language/spec

Page source

No response

Describe the problem

The "Dart 3" link on the specification page still links to the 2.10 spec. Has the 3.0 spec been released yet?

Expected fix

The 2.10 spec has been downloaded to the website. Is that really needed?

Additional context

No response

I would like to fix this problem.

parlough commented 2 months ago

We kept a section on Dart 2 where we link to the 2.10 spec as that's the last version before null safety was introduced.

As for the Dart 3 section, it links to a version that says 2.13-dev as the spec hasn't been updated for sound null safety and some other newer changes yet. It is still the most up to date version of the spec though.

We say it's "in progress", but do you think we should make it more clear somehow?

sfshaza2 commented 1 month ago

Is the PDF different for the 2.13 link and the latest link? If so, I would. definitely make that more clear.

eernstg commented 1 month ago

The 'Latest, in-progress specification' under the heading Dart 3 is the newest accepted language specification. The PR dart-lang/language#2605 contains null safety updates, but hasn't been landed yet.

For more recent features, please take a look at the feature specifications that you'll find here: https://github.com/dart-lang/language/tree/main/accepted.

It would be nice if the language specification had been updated with everything in those feature specifications, but the language team tends to put more emphasis on getting the feature specifications in a good shape and then implementing the features. This means that the language specification will contain everything, at some point in time, but it's more like a post-hoc consolidation process. When each of those feature specifications has been fully integrated into the language specification, the feature specification is turned into a background/history document, and the language specification takes the role as the source of truth on that feature. (For example, extensions are specified here, and the feature specification is a background document today.)

sfshaza2 commented 1 month ago

I leave it to you, @parlough, but the way it reads now is indeed confusing.