Skip to content

Move date from file name to front matter #1510

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

Merged
merged 7 commits into from
Mar 9, 2025
Merged
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ When writing a new blog post, keep in mind the file headers:
```md
+++
layout = "post"
date = 2015-03-15
title = "Title of the blog post"
author = "Blog post author (or on behalf of which team)"
release = true # (to be only used for official posts about Rust releases announcements)
Expand Down
2 changes: 2 additions & 0 deletions front_matter/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
use eyre::bail;
use serde::{Deserialize, Serialize};
use toml::value::Date;

/// The front matter of a markdown blog post.
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct FrontMatter {
pub layout: String,
pub date: Date,
pub title: String,
pub author: String,
pub description: Option<String>,
Expand Down
106 changes: 106 additions & 0 deletions posts/1.0-Timeline.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
+++
layout = "post"
date = 2014-12-12
title = "Rust 1.0: Scheduling the trains"
author = "Aaron Turon"
description = "As 2014 is drawing to a close, it's time to begin the Rust 1.0 release cycle!"
+++

As 2014 is drawing to a close, it's time to begin the Rust 1.0 release cycle!

**TL;DR: we will transition to a six week release cycle on Jan 9, 2015, and
produce Rust 1.0.0 final at least two cycles afterwards**:

* Rust 1.0.0-alpha -- Friday, Jan 9, 2015
* Rust 1.0.0-beta1 -- Week of Feb 16, 2015
* Rust 1.0.0 -- One or more six-week cycles later

We talked before about [why Rust is reaching 1.0], and also about the
[6-week train model] \(with Nightly, Beta, and Stable channels) that will enable
us to deliver stability without stagnation. This post finishes the story by
laying out the transition to this new release model and the stability guarantees
it provides.

### The alpha release

Reaching alpha means three things:

* The language is feature-complete. All gates are removed from features we
expect to ship with 1.0.

* The standard library is nearly feature-complete. The majority of APIs that
will ship in 1.0 stable will already be marked as `#[stable]`.

* *Warnings* for `#[unstable]` features are turned on by default. (Note that the
`#[experimental]` stability level is
[going away](https://github.com/rust-lang/rfcs/pull/507).)

In other words, 1.0.0-alpha gives a pretty accurate picture of what 1.0 will
look like, but doesn't yet institute release channels. By turning on warnings
for unstable APIs but not excluding them altogether, we can get community
feedback about which important APIs still need to be stabilized without those
APIs simply disappearing over night.

While we expect the pace of breakage to slow dramatically when we reach
feature-complete status, **1.0.0-alpha is still a [pre-release]**:

A pre-release version indicates that the version is unstable and might not
satisfy the intended compatibility requirements as denoted by its associated
normal version.

That is, we will reserve the right to make minor breaking changes to both the
language and libraries -- including `#[stable]` APIs -- throughout the duration
of the alpha cycle. But we expect any such changes to be relatively minor
tweaks, and changes to `#[stable]` APIs to be very rare.

### The beta release(s)

Six weeks later, we will begin the beta period:

* Both the language and libraries are feature-complete. All APIs shipping for
Rust 1.0 are marked `#[stable]`.

* Release channels take effect: feature gates and `#[unstable]` APIs are
available on nightly builds, but not on the beta. This change is part of
[our commitment to stability](https://blog.rust-lang.org/2014/10/30/Stability.html).

Unlike the alpha cycle, where we still expect some minor breakage, the beta
cycle should *not* involve breakage unless a very significant problem is
found. Ideally, **the beta cycle will be focused on testing, bugfixing, and
polish**.

We plan to run at least one beta cycle before the final release.

### The final release

Finally, after one or more beta cycles, we will have produced a release
candidate that is **ready for the world**:

* We are ready to promise stability --
[hassle-free upgrades](https://blog.rust-lang.org/2014/10/30/Stability.html) --
for the duration of the 1.X series.

* The core documentation (The Guide/Guides) is fully in sync with the language and
libraries.

We are incredibly excited for Rust to reach this point.

### What this means for the ecosystem

With the [launch](https://blog.rust-lang.org/2014/11/20/Cargo.html) of Cargo and
[crates.io](https://crates.io/), Rust's ecosystem has already seen significant expansion, but
it still takes a lot of work to track Rust's nightly releases. Beginning with
the alpha release, and especially approaching beta1, this will change
dramatically; **code that works with beta1 should work with 1.0 final without
any changes whatsoever**.

This migration into stability should be a boon for library writers, and we hope
that by 1.0 final there will be a massive collection of crates ready for use on
the stable channel -- and ready for the droves of people trying out Rust for the
first time.

Let's do this!

[why Rust is reaching 1.0]: https://blog.rust-lang.org/2014/09/15/Rust-1.0.html
[6-week train model]: https://blog.rust-lang.org/2014/10/30/Stability.html
[pre-release]: https://semver.org/
173 changes: 0 additions & 173 deletions posts/2014-09-15-Rust-1.0.md

This file was deleted.

Loading