Skip to content

Commit c217ab6

Browse files
committedDec 21, 2016
Auto merge of #38427 - brson:relnotes, r=alexcrichton
1.14 release notes [Rendered](https://github.com/brson/rust/blob/relnotes/RELEASES.md). Is there anything I'm missing? Were there any library stabilizations? The most interesting thing this time seems to be rustup, then compile time opts, `..` matches, cargo exposing `cfg` values to build scripts. This release also has wasm support, but it's pretty rough. Might be worth hyping up all the same. ARM MUSL targets. There are a large number of compatibility notes. Might be worth talking about that. Relevant prlo links: goo.gl/PGz2Ds, goo.gl/KV23Qv, goo.gl/g7ku6D.
2 parents 5fbf3bf + 2afadaa commit c217ab6

File tree

1 file changed

+219
-0
lines changed

1 file changed

+219
-0
lines changed
 

‎RELEASES.md

+219
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,222 @@
1+
Version 1.14.0 (2016-12-22)
2+
===========================
3+
4+
Language
5+
--------
6+
7+
* [`..` matches multiple tuple fields in enum variants, structs
8+
and tuples][36843]. [RFC 1492].
9+
* [Safe `fn` items can be coerced to `unsafe fn` pointers][37389]
10+
* [`use *` and `use ::*` both glob-import from the crate root][37367]
11+
* [It's now possible to call a `Vec<Box<Fn()>>` without explicit
12+
dereferencing][36822]
13+
14+
Compiler
15+
--------
16+
17+
* [Mark enums with non-zero discriminant as non-zero][37224]
18+
* [Lower-case `static mut` names are linted like other
19+
statics and consts][37162]
20+
* [Fix ICE on some macros in const integer positions
21+
(e.g. `[u8; m!()]`)][36819]
22+
* [Improve error message and snippet for "did you mean `x`"][36798]
23+
* [Add a panic-strategy field to the target specification][36794]
24+
* [Include LLVM version in `--version --verbose`][37200]
25+
26+
Compile-time Optimizations
27+
--------------------------
28+
29+
* [Improve macro expansion performance][37569]
30+
* [Shrink `Expr_::ExprInlineAsm`][37445]
31+
* [Replace all uses of SHA-256 with BLAKE2b][37439]
32+
* [Reduce the number of bytes hashed by `IchHasher`][37427]
33+
* [Avoid more allocations when compiling html5ever][37373]
34+
* [Use `SmallVector` in `CombineFields::instantiate`][37322]
35+
* [Avoid some allocations in the macro parser][37318]
36+
* [Use a faster deflate setting][37298]
37+
* [Add `ArrayVec` and `AccumulateVec` to reduce heap allocations
38+
during interning of slices][37270]
39+
* [Optimize `write_metadata`][37267]
40+
* [Don't process obligation forest cycles when stalled][37231]
41+
* [Avoid many `CrateConfig` clones][37161]
42+
* [Optimize `Substs::super_fold_with`][37108]
43+
* [Optimize `ObligationForest`'s `NodeState` handling][36993]
44+
* [Speed up `plug_leaks`][36917]
45+
46+
Libraries
47+
---------
48+
49+
* [`println!()`, with no arguments, prints newline][36825].
50+
Previously, an empty string was required to achieve the same.
51+
* [`Wrapping` impls standard binary and unary operators, as well as
52+
the `Sum` and `Product` iterators][37356]
53+
* [Implement `From<Cow<str>> for String` and `From<Cow<[T]>> for
54+
Vec<T>`][37326]
55+
* [Improve `fold` performance for `chain`, `cloned`, `map`, and
56+
`VecDeque` iterators][37315]
57+
* [Improve `SipHasher` performance on small values][37312]
58+
* [Add Iterator trait TrustedLen to enable better FromIterator /
59+
Extend][37306]
60+
* [Expand `.zip()` specialization to `.map()` and `.cloned()`][37230]
61+
* [`ReadDir` implements `Debug`][37221]
62+
* [Implement `RefUnwindSafe` for atomic types][37178]
63+
* [Specialize `Vec::extend` to `Vec::extend_from_slice`][37094]
64+
* [Avoid allocations in `Decoder::read_str`][37064]
65+
* [`io::Error` implements `From<io::ErrorKind>`][37037]
66+
* [Impl `Debug` for raw pointers to unsized data][36880]
67+
* [Don't reuse `HashMap` random seeds][37470]
68+
* [The internal memory layout of `HashMap` is more cache-friendly, for
69+
significant improvements in some operations][36692]
70+
* [`HashMap` uses less memory on 32-bit architectures][36595]
71+
* [Impl `Add<{str, Cow<str>}>` for `Cow<str>`][36430]
72+
73+
Cargo
74+
-----
75+
76+
* [Expose rustc cfg values to build scripts][cargo/3243]
77+
* [Allow cargo to work with read-only `CARGO_HOME`][cargo/3259]
78+
* [Fix passing --features when testing multiple packages][cargo/3280]
79+
* [Use a single profile set per workspace][cargo/3249]
80+
* [Load `replace` sections from lock files][cargo/3220]
81+
* [Ignore `panic` configuration for test/bench profiles][cargo/3175]
82+
83+
Tooling
84+
-------
85+
86+
* [rustup is the recommended Rust installation method][1.14rustup]
87+
* This release includes host (rustc) builds for Linux on MIPS, PowerPC, and
88+
S390x. These are [tier 2] platforms and may have major defects. Follow the
89+
instructions on the website to install, or add the targets to an existing
90+
installation with `rustup target add`. The new target triples are:
91+
- `mips-unknown-linux-gnu`
92+
- `mipsel-unknown-linux-gnu`
93+
- `mips64-unknown-linux-gnuabi64`
94+
- `mips64el-unknown-linux-gnuabi64 `
95+
- `powerpc-unknown-linux-gnu`
96+
- `powerpc64-unknown-linux-gnu`
97+
- `powerpc64le-unknown-linux-gnu`
98+
- `s390x-unknown-linux-gnu `
99+
* This release includes target (std) builds for ARM Linux running MUSL
100+
libc. These are [tier 2] platforms and may have major defects. Add the
101+
following triples to an existing rustup installation with `rustup target add`:
102+
- `arm-unknown-linux-musleabi`
103+
- `arm-unknown-linux-musleabihf`
104+
- `armv7-unknown-linux-musleabihf`
105+
* This release includes [experimental support for WebAssembly][1.14wasm], via
106+
the `wasm32-unknown-emscripten` target. This target is known to have major
107+
defects. Please test, report, and fix.
108+
* rustup no longer installs documentation by default. Run `rustup
109+
component add rust-docs` to install.
110+
* [Fix line stepping in debugger][37310]
111+
* [Enable line number debuginfo in releases][37280]
112+
113+
Misc
114+
----
115+
116+
* [Disable jemalloc on aarch64/powerpc/mips][37392]
117+
* [Add support for Fuchsia OS][37313]
118+
* [Detect local-rebuild by only MAJOR.MINOR version][37273]
119+
120+
Compatibility Notes
121+
-------------------
122+
123+
* [A number of forward-compatibility lints used by the compiler
124+
to gradually introduce language changes have been converted
125+
to deny by default][36894]:
126+
- ["use of inaccessible extern crate erroneously allowed"][36886]
127+
- ["type parameter default erroneously allowed in invalid location"][36887]
128+
- ["detects super or self keywords at the beginning of global path"][36888]
129+
- ["two overlapping inherent impls define an item with the same name
130+
were erroneously allowed"][36889]
131+
- ["floating-point constants cannot be used in patterns"][36890]
132+
- ["constants of struct or enum type can only be used in a pattern if
133+
the struct or enum has `#[derive(PartialEq, Eq)]`"][36891]
134+
- ["lifetimes or labels named `'_` were erroneously allowed"][36892]
135+
* [Prohibit patterns in trait methods without bodies][37378]
136+
* [The atomic `Ordering` enum may not be matched exhaustively][37351]
137+
* [Future-proofing `#[no_link]` breaks some obscure cases][37247]
138+
* [The `$crate` macro variable is accepted in fewer locations][37213]
139+
* [Impls specifying extra region requirements beyond the trait
140+
they implement are rejected][37167]
141+
* [Enums may not be unsized][37111]. Unsized enums are intended to
142+
work but never have. For now they are forbidden.
143+
* [Enforce the shadowing restrictions from RFC 1560 for today's macros][36767]
144+
145+
[tier 2]: https://forge.rust-lang.org/platform-support.html
146+
[1.14rustup]: https://internals.rust-lang.org/t/beta-testing-rustup-rs/3316/204
147+
[1.14wasm]: https://users.rust-lang.org/t/compiling-to-the-web-with-rust-and-emscripten/7627
148+
[36430]: https://github.com/rust-lang/rust/pull/36430
149+
[36595]: https://github.com/rust-lang/rust/pull/36595
150+
[36595]: https://github.com/rust-lang/rust/pull/36595
151+
[36692]: https://github.com/rust-lang/rust/pull/36692
152+
[36767]: https://github.com/rust-lang/rust/pull/36767
153+
[36794]: https://github.com/rust-lang/rust/pull/36794
154+
[36798]: https://github.com/rust-lang/rust/pull/36798
155+
[36819]: https://github.com/rust-lang/rust/pull/36819
156+
[36822]: https://github.com/rust-lang/rust/pull/36822
157+
[36825]: https://github.com/rust-lang/rust/pull/36825
158+
[36843]: https://github.com/rust-lang/rust/pull/36843
159+
[36880]: https://github.com/rust-lang/rust/pull/36880
160+
[36886]: https://github.com/rust-lang/rust/issues/36886
161+
[36887]: https://github.com/rust-lang/rust/issues/36887
162+
[36888]: https://github.com/rust-lang/rust/issues/36888
163+
[36889]: https://github.com/rust-lang/rust/issues/36889
164+
[36890]: https://github.com/rust-lang/rust/issues/36890
165+
[36891]: https://github.com/rust-lang/rust/issues/36891
166+
[36892]: https://github.com/rust-lang/rust/issues/36892
167+
[36894]: https://github.com/rust-lang/rust/pull/36894
168+
[36917]: https://github.com/rust-lang/rust/pull/36917
169+
[36993]: https://github.com/rust-lang/rust/pull/36993
170+
[37037]: https://github.com/rust-lang/rust/pull/37037
171+
[37064]: https://github.com/rust-lang/rust/pull/37064
172+
[37094]: https://github.com/rust-lang/rust/pull/37094
173+
[37108]: https://github.com/rust-lang/rust/pull/37108
174+
[37111]: https://github.com/rust-lang/rust/pull/37111
175+
[37161]: https://github.com/rust-lang/rust/pull/37161
176+
[37162]: https://github.com/rust-lang/rust/pull/37162
177+
[37167]: https://github.com/rust-lang/rust/pull/37167
178+
[37178]: https://github.com/rust-lang/rust/pull/37178
179+
[37200]: https://github.com/rust-lang/rust/pull/37200
180+
[37213]: https://github.com/rust-lang/rust/pull/37213
181+
[37221]: https://github.com/rust-lang/rust/pull/37221
182+
[37224]: https://github.com/rust-lang/rust/pull/37224
183+
[37230]: https://github.com/rust-lang/rust/pull/37230
184+
[37231]: https://github.com/rust-lang/rust/pull/37231
185+
[37247]: https://github.com/rust-lang/rust/pull/37247
186+
[37267]: https://github.com/rust-lang/rust/pull/37267
187+
[37270]: https://github.com/rust-lang/rust/pull/37270
188+
[37273]: https://github.com/rust-lang/rust/pull/37273
189+
[37280]: https://github.com/rust-lang/rust/pull/37280
190+
[37298]: https://github.com/rust-lang/rust/pull/37298
191+
[37306]: https://github.com/rust-lang/rust/pull/37306
192+
[37310]: https://github.com/rust-lang/rust/pull/37310
193+
[37312]: https://github.com/rust-lang/rust/pull/37312
194+
[37313]: https://github.com/rust-lang/rust/pull/37313
195+
[37315]: https://github.com/rust-lang/rust/pull/37315
196+
[37318]: https://github.com/rust-lang/rust/pull/37318
197+
[37322]: https://github.com/rust-lang/rust/pull/37322
198+
[37326]: https://github.com/rust-lang/rust/pull/37326
199+
[37351]: https://github.com/rust-lang/rust/pull/37351
200+
[37356]: https://github.com/rust-lang/rust/pull/37356
201+
[37367]: https://github.com/rust-lang/rust/pull/37367
202+
[37373]: https://github.com/rust-lang/rust/pull/37373
203+
[37378]: https://github.com/rust-lang/rust/pull/37378
204+
[37389]: https://github.com/rust-lang/rust/pull/37389
205+
[37392]: https://github.com/rust-lang/rust/pull/37392
206+
[37427]: https://github.com/rust-lang/rust/pull/37427
207+
[37439]: https://github.com/rust-lang/rust/pull/37439
208+
[37445]: https://github.com/rust-lang/rust/pull/37445
209+
[37470]: https://github.com/rust-lang/rust/pull/37470
210+
[37569]: https://github.com/rust-lang/rust/pull/37569
211+
[RFC 1492]: https://github.com/rust-lang/rfcs/blob/master/text/1492-dotdot-in-patterns.md
212+
[cargo/3175]: https://github.com/rust-lang/cargo/pull/3175
213+
[cargo/3220]: https://github.com/rust-lang/cargo/pull/3220
214+
[cargo/3243]: https://github.com/rust-lang/cargo/pull/3243
215+
[cargo/3249]: https://github.com/rust-lang/cargo/pull/3249
216+
[cargo/3259]: https://github.com/rust-lang/cargo/pull/3259
217+
[cargo/3280]: https://github.com/rust-lang/cargo/pull/3280
218+
219+
1220
Version 1.13.0 (2016-11-10)
2221
===========================
3222

0 commit comments

Comments
 (0)
Please sign in to comment.