Skip to content

Commit 09a9859

Browse files
committed
1.14 release notes
1 parent d250169 commit 09a9859

File tree

1 file changed

+200
-0
lines changed

1 file changed

+200
-0
lines changed

RELEASES.md

+200
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,203 @@
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>`][36595]
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 [experimental support for WebAssembly][1.14wasm]
88+
* This release includes builds for ARM Linux running MUSL libc. Add the
89+
`arm-unknown-linux-musleabi`, `arm-unknown-linux-musleabihf`, and
90+
`armv7-unknown-linux-musleabihf` targets via `rustup target add`.
91+
* rustup no longer installs documentation by default. Run `rustup
92+
component add rust-docs` to install.
93+
* [Fix line stepping in debugger][37310]
94+
* [Enable line number debuginfo in releases][37280]
95+
96+
Misc
97+
----
98+
99+
* [Disable jemalloc on aarch64/powerpc][37392]
100+
* [Add support for Fuchsia OS][37313]
101+
* [Detect local-rebuild by only MAJOR.MINOR version][37273]
102+
103+
Compatibility Notes
104+
-------------------
105+
106+
* [A number of forward-compatibility lints used by the compiler
107+
to gradually introduce language changes have been converted
108+
to deny by default][36894]:
109+
- ["use of inaccessible extern crate erroneously allowed"][36886]
110+
- ["type parameter default erroneously allowed in invalid location"][36887]
111+
- ["detects super or self keywords at the beginning of global path"][36888]
112+
- ["two overlapping inherent impls define an item with the same name
113+
were erroneously allowed"][36889]
114+
- ["floating-point constants cannot be used in patterns"][36890]
115+
- ["constants of struct or enum type can only be used in a pattern if
116+
the struct or enum has `#[derive(PartialEq, Eq)]`"][36891]
117+
- ["lifetimes or labels named `'_` were erroneously allowed"][36892]
118+
* [Prohibit patterns in trait methods without bodies][37378]
119+
* [The atomic `Ordering` enum may not be matched exhaustively][37351]
120+
* [Future-proofing `#[no_link]` breaks some obscure cases][37247]
121+
* [The `$crate` macro variable is accepted in fewer locations][37213]
122+
* [Impls specifying extra region requirements beyond the trait
123+
they implement are rejected][37167]
124+
* [Enums may not be unsized][37111]. Unsized enums are intended to
125+
work but never have. For now they are forbidden.
126+
* [Enforce the shadowing restrictions from RFC 1560 for today's macros][36767]
127+
128+
[1.14rustup]: https://internals.rust-lang.org/t/beta-testing-rustup-rs/3316/204
129+
[1.14wasm]: https://users.rust-lang.org/t/compiling-to-the-web-with-rust-and-emscripten/7627
130+
[36595]: https://github.com/rust-lang/rust/pull/36595
131+
[36595]: https://github.com/rust-lang/rust/pull/36595
132+
[36692]: https://github.com/rust-lang/rust/pull/36692
133+
[36767]: https://github.com/rust-lang/rust/pull/36767
134+
[36794]: https://github.com/rust-lang/rust/pull/36794
135+
[36798]: https://github.com/rust-lang/rust/pull/36798
136+
[36819]: https://github.com/rust-lang/rust/pull/36819
137+
[36822]: https://github.com/rust-lang/rust/pull/36822
138+
[36825]: https://github.com/rust-lang/rust/pull/36825
139+
[36843]: https://github.com/rust-lang/rust/pull/36843
140+
[36880]: https://github.com/rust-lang/rust/pull/36880
141+
[36886]: https://github.com/rust-lang/rust/issues/36886
142+
[36887]: https://github.com/rust-lang/rust/issues/36887
143+
[36888]: https://github.com/rust-lang/rust/issues/36888
144+
[36889]: https://github.com/rust-lang/rust/issues/36889
145+
[36890]: https://github.com/rust-lang/rust/issues/36890
146+
[36891]: https://github.com/rust-lang/rust/issues/36891
147+
[36892]: https://github.com/rust-lang/rust/issues/36892
148+
[36894]: https://github.com/rust-lang/rust/pull/36894
149+
[36917]: https://github.com/rust-lang/rust/pull/36917
150+
[36993]: https://github.com/rust-lang/rust/pull/36993
151+
[37037]: https://github.com/rust-lang/rust/pull/37037
152+
[37064]: https://github.com/rust-lang/rust/pull/37064
153+
[37094]: https://github.com/rust-lang/rust/pull/37094
154+
[37108]: https://github.com/rust-lang/rust/pull/37108
155+
[37111]: https://github.com/rust-lang/rust/pull/37111
156+
[37161]: https://github.com/rust-lang/rust/pull/37161
157+
[37162]: https://github.com/rust-lang/rust/pull/37162
158+
[37167]: https://github.com/rust-lang/rust/pull/37167
159+
[37178]: https://github.com/rust-lang/rust/pull/37178
160+
[37200]: https://github.com/rust-lang/rust/pull/37200
161+
[37213]: https://github.com/rust-lang/rust/pull/37213
162+
[37221]: https://github.com/rust-lang/rust/pull/37221
163+
[37224]: https://github.com/rust-lang/rust/pull/37224
164+
[37230]: https://github.com/rust-lang/rust/pull/37230
165+
[37231]: https://github.com/rust-lang/rust/pull/37231
166+
[37247]: https://github.com/rust-lang/rust/pull/37247
167+
[37267]: https://github.com/rust-lang/rust/pull/37267
168+
[37270]: https://github.com/rust-lang/rust/pull/37270
169+
[37273]: https://github.com/rust-lang/rust/pull/37273
170+
[37280]: https://github.com/rust-lang/rust/pull/37280
171+
[37298]: https://github.com/rust-lang/rust/pull/37298
172+
[37306]: https://github.com/rust-lang/rust/pull/37306
173+
[37310]: https://github.com/rust-lang/rust/pull/37310
174+
[37312]: https://github.com/rust-lang/rust/pull/37312
175+
[37313]: https://github.com/rust-lang/rust/pull/37313
176+
[37315]: https://github.com/rust-lang/rust/pull/37315
177+
[37318]: https://github.com/rust-lang/rust/pull/37318
178+
[37322]: https://github.com/rust-lang/rust/pull/37322
179+
[37326]: https://github.com/rust-lang/rust/pull/37326
180+
[37351]: https://github.com/rust-lang/rust/pull/37351
181+
[37356]: https://github.com/rust-lang/rust/pull/37356
182+
[37367]: https://github.com/rust-lang/rust/pull/37367
183+
[37373]: https://github.com/rust-lang/rust/pull/37373
184+
[37378]: https://github.com/rust-lang/rust/pull/37378
185+
[37389]: https://github.com/rust-lang/rust/pull/37389
186+
[37392]: https://github.com/rust-lang/rust/pull/37392
187+
[37427]: https://github.com/rust-lang/rust/pull/37427
188+
[37439]: https://github.com/rust-lang/rust/pull/37439
189+
[37445]: https://github.com/rust-lang/rust/pull/37445
190+
[37470]: https://github.com/rust-lang/rust/pull/37470
191+
[37569]: https://github.com/rust-lang/rust/pull/37569
192+
[RFC 1492]: https://github.com/rust-lang/rfcs/blob/master/text/1492-dotdot-in-patterns.md
193+
[cargo/3175]: https://github.com/rust-lang/cargo/pull/3175
194+
[cargo/3220]: https://github.com/rust-lang/cargo/pull/3220
195+
[cargo/3243]: https://github.com/rust-lang/cargo/pull/3243
196+
[cargo/3249]: https://github.com/rust-lang/cargo/pull/3249
197+
[cargo/3259]: https://github.com/rust-lang/cargo/pull/3259
198+
[cargo/3280]: https://github.com/rust-lang/cargo/pull/3280
199+
200+
1201
Version 1.13.0 (2016-11-10)
2202
===========================
3203

0 commit comments

Comments
 (0)