Skip to content

Commit 019ca2a

Browse files
committed
Merge pull request #77 from steveklabnik/1.6-announcement
1.6 release announcement
2 parents 34f54d7 + 3838888 commit 019ca2a

File tree

1 file changed

+217
-0
lines changed

1 file changed

+217
-0
lines changed

_posts/2016-01-21-Rust-1.6.md

Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
---
2+
layout: post
3+
title: "Announcing Rust 1.6"
4+
author: The Rust Core Team
5+
---
6+
7+
Hello 2016! We’re happy to announce the first Rust release of the year, 1.6.
8+
Rust is a systems programming language focused on safety, speed, and
9+
concurrency.
10+
11+
As always, you can [install Rust 1.6][install] from the appropriate page on our
12+
website, and check out the [detailed release notes for 1.6][notes] on GitHub.
13+
About 1100 patches were landed in this release.
14+
15+
[install]: http://www.rust-lang.org/install.html
16+
[notes]: https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-160-2016-01-21
17+
18+
### What's in 1.6 stable
19+
20+
This release contains a number of small refinements, one major feature, and
21+
a change to [Crates.io](https://crates.io).
22+
23+
#### libcore stabilization
24+
25+
The largest new feature in 1.6 is that [`libcore`] is now stable! Rust’s
26+
standard library is two-tiered: there’s a small core library, `libcore`, and
27+
the full standard library, `libstd`, that builds on top of it. `libcore` is
28+
completely platform agnostic, and requires only a handful of external symbols
29+
to be defined. Rust’s `libstd` builds on top of `libcore`, adding support for
30+
memory allocation, I/O, and concurrency. Applications using Rust in the
31+
embedded space, as well as those writing operating systems, often eschew
32+
`libstd`, using only `libcore`.
33+
34+
[`libcore`]: http://doc.rust-lang.org/nightly/core/
35+
36+
`libcore` being stabilized is a major step towards being able to write the
37+
lowest levels of software using stable Rust. There’s still future work to be
38+
done, however. This will allow for a library ecosystem to develop around
39+
`libcore`, but _applications_ are not fully supported yet. Expect to hear more
40+
about this in future release notes.
41+
42+
#### Library stabilizations
43+
44+
About 30 library functions and methods are now stable in 1.6. Notable
45+
improvements include:
46+
47+
The `drain()` family of functions on collections. These methods let you move
48+
elements out of a collection while allowing them to retain their backing
49+
memory, reducing allocation in certain situations.
50+
51+
A number of implementations of `From` for converting between standard library
52+
types, mainly between various integral and floating-point types.
53+
54+
Finally, `Vec::extend_from_slice()`, which was previously known as
55+
`push_all()`. This method has a significantly faster implementation than the
56+
more general `extend()`.
57+
58+
See the [detailed release notes][notes] for more.
59+
60+
#### Crates.io disallows wildcards
61+
62+
If you maintain a crate on [Crates.io](https://crates.io), you might have seen
63+
a warning: newly uploaded crates are no longer allowed to use a wildcard when
64+
describing their dependencies. In other words, this is not allowed:
65+
66+
```toml
67+
[dependencies]
68+
regex = "*"
69+
```
70+
71+
Instead, you must actually specify [a specific version or range of
72+
versions][versions], using one of the `semver` crate’s various options: `^`,
73+
`~`, or `=`.
74+
75+
[versions]: http://doc.crates.io/crates-io.html#using-cratesio-based-crates
76+
77+
A wildcard dependency means that you work with any possible version of your
78+
dependency. This is highly unlikely to be true, and causes unnecessary breakage
79+
in the ecosystem. We’ve been advertising this change as a warning for some time;
80+
now it’s time to turn it into an error.
81+
82+
### Contributors to 1.6
83+
84+
We had 132 individuals contribute to 1.6. Thank you so much!
85+
86+
* Aaron Turon
87+
* Adam Badawy
88+
* Aleksey Kladov
89+
* Alexander Bulaev
90+
* Alex Burka
91+
* Alex Crichton
92+
* Alex Gaynor
93+
* Alexis Beingessner
94+
* Amanieu d'Antras
95+
* Amit Saha
96+
* Andrea Canciani
97+
* Andrew Paseltiner
98+
* androm3da
99+
* angelsl
100+
* Angus Lees
101+
* Antti Keränen
102+
* arcnmx
103+
* Ariel Ben-Yehuda
104+
* Ashkan Kiani
105+
* Barosl Lee
106+
* Benjamin Herr
107+
* Ben Striegel
108+
* Bhargav Patel
109+
* Björn Steinbrink
110+
* Boris Egorov
111+
* bors
112+
* Brian Anderson
113+
* Bruno Tavares
114+
* Bryce Van Dyk
115+
* Cameron Sun
116+
* Christopher Sumnicht
117+
* Cole Reynolds
118+
* corentih
119+
* Daniel Campbell
120+
* Daniel Keep
121+
* Daniel Rollins
122+
* Daniel Trebbien
123+
* Danilo Bargen
124+
* Devon Hollowood
125+
* Doug Goldstein
126+
* Dylan McKay
127+
* ebadf
128+
* Eli Friedman
129+
* Eric Findlay
130+
* Erik Davidson
131+
* Felix S. Klock II
132+
* Florian Hahn
133+
* Florian Hartwig
134+
* Gleb Kozyrev
135+
* Guillaume Gomez
136+
* Huon Wilson
137+
* Igor Shuvalov
138+
* Ivan Ivaschenko
139+
* Ivan Kozik
140+
* Ivan Stankovic
141+
* Jack Fransham
142+
* Jake Goulding
143+
* Jake Worth
144+
* James Miller
145+
* Jan Likar
146+
* Jean Maillard
147+
* Jeffrey Seyfried
148+
* Jethro Beekman
149+
* John Kåre Alsaker
150+
* John Talling
151+
* Jonas Schievink
152+
* Jonathan S
153+
* Jose Narvaez
154+
* Josh Austin
155+
* Josh Stone
156+
* Joshua Holmer
157+
* JP Sugarbroad
158+
* jrburke
159+
* Kevin Butler
160+
* Kevin Yeh
161+
* Kohei Hasegawa
162+
* Kyle Mayes
163+
* Lee Jeffery
164+
* Manish Goregaokar
165+
* Marcell Pardavi
166+
* Markus Unterwaditzer
167+
* Martin Pool
168+
* Marvin Löbel
169+
* Matt Brubeck
170+
* Matthias Bussonnier
171+
* Matthias Kauer
172+
* mdinger
173+
* Michael Layzell
174+
* Michael Neumann
175+
* Michael Sproul
176+
* Michael Woerister
177+
* Mihaly Barasz
178+
* Mika Attila
179+
* mitaa
180+
* Ms2ger
181+
* Nicholas Mazzuca
182+
* Nick Cameron
183+
* Niko Matsakis
184+
* Ole Krüger
185+
* Oliver Middleton
186+
* Oliver Schneider
187+
* Ori Avtalion
188+
* Paul A. Jungwirth
189+
* Peter Atashian
190+
* Philipp Matthias Schäfer
191+
* pierzchalski
192+
* Ravi Shankar
193+
* Ricardo Martins
194+
* Ricardo Signes
195+
* Richard Diamond
196+
* Rizky Luthfianto
197+
* Ryan Scheel
198+
* Scott Olson
199+
* Sean Griffin
200+
* Sebastian Hahn
201+
* Sébastien Marie
202+
* Seo Sanghyeon
203+
* Simonas Kazlauskas
204+
* Simon Sapin
205+
* Stepan Koltsov
206+
* Steve Klabnik
207+
* Steven Fackler
208+
* Tamir Duberstein
209+
* Tobias Bucher
210+
* Toby Scrace
211+
* Tshepang Lekhonkhobe
212+
* Ulrik Sverdrup
213+
* Vadim Chugunov
214+
* Vadim Petrochenkov
215+
* William Throwe
216+
* xd1le
217+
* Xmasreturns

0 commit comments

Comments
 (0)