Version 1.0.0-alpha (January 2015)
----------------------------------
- * ~2300 changes, numerous bugfixes
+ * ~2400 changes, numerous bugfixes
* Highlights
* The language itself is considered feature complete for 1.0,
- though there is a significant amount of cleanup and bugfixes
- remaining.
+ though there will be many usability improvements and bugfixes
+ before the final release.
* Nearly 50% of the public API surface of the standard library has
- been declared 'stable'. Those interfaces will not change.
+ been declared 'stable'. Those interfaces are unlikely to change
+ before 1.0.
+ * The long-running debate over integer types has been
+ [settled][ints]: Rust will ship with types named `isize` and
+ `usize`, rather than `int` and `uint`, for pointer-sized
+ integers. Guidelines will be rolled out during the alpha cycle.
* Most crates that are not `std` have been moved out of the Rust
distribution into the Cargo ecosystem so they can evolve
separately and don't need to be stabilized as quickly, including
'time', 'getopts', 'num', 'regex', and 'term'.
- * Documentation continues to be expanded with more guides, more
- API coverage and more examples.
+ * Documentation continues to be expanded with more API coverage, more
+ examples, and more in-depth explanations. The guides have been
+ consolidated into [The Rust Programming Language][trpl].
+ * "[Rust By Example][rbe]" is now maintained by the Rust team.
* All official Rust binary installers now come with [Cargo], the
Rust package manager.
even though the internals do not (e.g. structs containing unsafe
pointers like `Arc`). These changes are intended to prevent some
footguns and are collectively known as [opt-in built-in
- traits][oibit] (though `Sync` and `Share` will soon become pure
+ traits][oibit] (though `Sync` and `Send` will soon become pure
library types unknown to the compiler).
* Operator traits now take their operands [by value][ops], and
comparison traits can use multidispatch to compare one type
characters][unicode].
* `macro_rules!` [has been declared stable][mac]. Though it is a
flawed system it is sufficiently popular that it must be usable
- for 1.0. Effort has gone into future-proofing it in ways that
- will allow other macro systems to be developed in parallel, and
- won't otherwise impact the evolution of the language.
+ for 1.0. Effort has gone into [future-proofing][mac-future] it
+ in ways that will allow other macro systems to be developed in
+ parallel, and won't otherwise impact the evolution of the
+ language.
* The prelude has been [pared back significantly][prelude] such
that it is the minimum necessary to support the most pervasive
code patterns, and through [generalized where clauses][where]
* Importing the containing module or enum at the same time as
items or variants they contain is [now done with `self` instead
of `mod`][self], as in use `foo::{self, bar}`
+ * Glob imports are no longer feature-gated.
+ * The `box` operator and `box` patterns have been feature-gated
+ pending a redesign. For now unique boxes should be allocated
+ like other containers, with `Box::new`.
* Libraries
* Work has begun on supporting AArch64.
[Cargo]: https://crates.io
-[unboxed]: https://github.com/rust-lang/rfcs/blob/master/text/0114-closures.md
+[unboxed]: http://smallcultfollowing.com/babysteps/blog/2014/11/26/purging-proc/
[enum]: https://github.com/rust-lang/rfcs/blob/master/text/0390-enum-namespacing.md
[flex]: https://github.com/rust-lang/rfcs/blob/master/text/0131-target-specification.md
[err]: https://github.com/rust-lang/rfcs/blob/master/text/0201-error-chaining.md
[err-conv]: https://github.com/rust-lang/rfcs/blob/master/text/0236-error-conventions.md
[rt]: https://github.com/rust-lang/rfcs/blob/master/text/0230-remove-runtime.md
[mac]: https://github.com/rust-lang/rfcs/blob/master/text/0453-macro-reform.md
+[mac-future]: https://github.com/rust-lang/rfcs/pull/550
[DST]: http://smallcultfollowing.com/babysteps/blog/2014/01/05/dst-take-5/
[coll1]: https://github.com/rust-lang/rfcs/blob/master/text/0235-collections-conventions.md
[coll2]: https://github.com/rust-lang/rfcs/blob/master/text/0509-collections-reform-part-2.md
[fb]: https://github.com/rust-lang/rfcs/blob/master/text/0212-restore-int-fallback.md
[objsafe]: https://github.com/rust-lang/rfcs/blob/master/text/0255-object-safety.md
[assoc]: https://github.com/rust-lang/rfcs/blob/master/text/0195-associated-items.md
+[ints]: https://github.com/rust-lang/rfcs/pull/544#issuecomment-68760871
+[trpl]: http://doc.rust-lang.org/book/index.html
+[rbe]: http://rustbyexample.com/
Version 0.12.0 (October 2014)
-----------------------------