Congrats everyone! Here's to 0.10. :)
On Thu, Jan 9, 2014 at 4:04 PM, Brian Anderson <[email protected]>wrote: > Mozilla and the Rust community are pleased to announce version 0.9 of the > Rust compiler and tools. Rust is a systems programming language with a > focus on safety, performance and concurrency. > > This was another eventful release in which we made extensive improvements > to the runtime and I/O subsystem, introduced static linking and link-time > optimization, and reduced the variety of closures in the language. 0.9 > also > begins a final series of planned changes to how pointers are treated in > Rust, starting with the deprecation of the built-in "managed pointer" type > and its accompanying `@` sigil, and the introduction of smart pointer > types > to the standard library. > > The brief release notes are included in this announcement, and there is > further explanation in the detailed release [notes] on the wiki. > Documentation and all the links in this email are available on the > [website]. As usual, version 0.9 should be considered an alpha release, > suitable for early adopters and language enthusiasts. Please file [bugs] > and join the [fun]. > > [website]: http://www.rust-lang.org > [notes]: https://github.com/mozilla/rust/wiki/Doc-detailed-release-notes > [bugs]: https://github.com/mozilla/rust/issues > [fun]: > https://github.com/mozilla/rust/wiki/Note-guide-for-new-contributors > > This release is available as both a tarball and a Windows installer: > > * http://static.rust-lang.org/dist/rust-0.9.tar.gz > http://static.rust-lang.org/dist/rust-0.9.tar.gz.asc > SHA256 (of .tar.gz): > c0911c3545b797a1ca16f3d76bf5ed234754b828efd1e22c182c7300ac7dd5d1 > > * http://static.rust-lang.org/dist/rust-0.9-install.exe > http://static.rust-lang.org/dist/rust-0.9-install.exe.asc > SHA256 (of .exe): > 6ab14e25761d61ba724c5f77403d09d566d3187a2e048e006036b960d938fe90 > > Thanks to everyone who contributed! > > Regards, > The Rust Team > > > Version 0.9 (January 2014) > -------------------------- > > * Language > * The `float` type has been removed. Use `f32` or `f64` instead. > * A new facility for enabling experimental features (feature gating) > has been added, using the crate-level `#[feature(foo)]` attribute. > * Managed boxes (@) are now behind a feature gate > (`#[feature(managed_boxes)]`) in preperation for future removal. Use > the standard library's `Gc` or `Rc` types instead. > * `@mut` has been removed. Use `std::cell::{Cell, RefCell}` instead. > * Jumping back to the top of a loop is now done with `continue` instead > of `loop`. > * Strings can no longer be mutated through index assignment. > * Raw strings can be created via the basic `r"foo"` syntax or with > matched hash delimiters, as in `r###"foo"###`. > * `~fn` is now written `proc (args) -> retval { ... }` and may only be > called once. > * The `&fn` type is now written `|args| -> ret` to match the literal > form. > * `@fn`s have been removed. > * `do` only works with procs in order to make it obvious what the cost > of `do` is. > * Single-element tuple-like structs can no longer be dereferenced to > obtain the inner value. A more comprehensive solution for overloading > the dereference operator will be provided in the future. > * The `#[link(...)]` attribute has been replaced with > `#[crate_id = "name#vers"]`. > * Empty `impl`s must be terminated with empty braces and may not be > terminated with a semicolon. > * Keywords are no longer allowed as lifetime names; the `self` lifetime > no longer has any special meaning. > * The old `fmt!` string formatting macro has been removed. > * `printf!` and `printfln!` (old-style formatting) removed in favor of > `print!` and `println!`. > * `mut` works in patterns now, as in `let (mut x, y) = (1, 2);`. > * The `extern mod foo (name = "bar")` syntax has been removed. Use > `extern mod foo = "bar"` instead. > * New reserved keywords: `alignof`, `offsetof`, `sizeof`. > * Macros can have attributes. > * Macros can expand to items with attributes. > * Macros can expand to multiple items. > * The `asm!` macro is feature-gated (`#[feature(asm)]`). > * Comments may be nested. > * Values automatically coerce to trait objects they implement, without > an explicit `as`. > * Enum discriminants are no longer an entire word but as small as needed > to contain all the variants. The `repr` attribute can be used to > override the discriminant size, as in `#[repr(int)]` for integer-sized, > and `#[repr(C)]` to match C enums. > * Non-string literals are not allowed in attributes (they never worked). > * The FFI now supports variadic functions. > * Octal numeric literals, as in `0o7777`. > * The `concat!` syntax extension performs compile-time string > concatenation. > * The `#[fixed_stack_segment]` and `#[rust_stack]` attributes have been > removed as Rust no longer uses segmented stacks. > * Non-ascii identifiers are feature-gated > (`#[feature(non_ascii_idents)]`). > * Ignoring all fields of an enum variant or tuple-struct is done with > `..`, not `*`; ignoring remaining fields of a struct is also done > with `..`, not `_`; ignoring a slice of a vector is done with `..`, > not `.._`. > * `rustc` supports the "win64" calling convention via `extern "win64"`. > * `rustc` supports the "system" calling convention, which defaults to > the preferred convention for the target platform, "stdcall" on 32-bit > Windows, "C" elsewhere. > * The `type_overflow` lint (default: warn) checks literals for overflow. > * The `unsafe_block` lint (default: allow) checks for usage of `unsafe`. > * The `attribute_usage` lint (default: warn) warns about unknown > attributes. > * The `unknown_features` lint (default: warn) warns about unknown > feature gates. > * The `dead_code` lint (default: warn) checks for dead code. > * Rust libraries can be linked statically to one another > * `#[link_args]` is behind the `link_args` feature gate. > * Native libraries are now linked with `#[link(name = "foo")]` > * Native libraries can be statically linked to a rust crate > (`#[link(name = "foo", kind = "static")]`). > * Native OS X frameworks are now officially supported > (`#[link(name = "foo", kind = "framework")]`). > * The `#[thread_local]` attribute creates thread-local (not task-local) > variables. Currently behind the `thread_local` feature gate. > * The `return` keyword may be used in closures. > * Types that can be copied via a memcpy implement the `Pod` kind. > * The `cfg` attribute can now be used on struct fields and enum variants. > > * Libraries > * std: The `option` and `result` API's have been overhauled to make them > simpler, more consistent, and more composable. > * std: The entire `std::io` module has been replaced with one that is > more comprehensive and that properly interfaces with the underlying > scheduler. File, TCP, UDP, Unix sockets, pipes, and timers are all > implemented. > * std: `io::util` contains a number of useful implementations of > `Reader` and `Writer`, including `NullReader`, `NullWriter`, > `ZeroReader`, `TeeReader`. > * std: The reference counted pointer type `extra::rc` moved into std. > * std: The `Gc` type in the `gc` module will replace `@` (it is currently > just a wrapper around it). > * std: The `Either` type has been removed. > * std: `fmt::Default` can be implemented for any type to provide default > formatting to the `format!` macro, as in `format!("{}", myfoo)`. > * std: The `rand` API continues to be tweaked. > * std: The `rust_begin_unwind` function, useful for inserting > breakpoints on failure in gdb, is now named `rust_fail`. > * std: The `each_key` and `each_value` methods on `HashMap` have been > replaced by the `keys` and `values` iterators. > * std: Functions dealing with type size and alignment have moved from > the `sys` module to the `mem` module. > * std: The `path` module was written and API changed. > * std: `str::from_utf8` has been changed to cast instead of allocate. > * std: `starts_with` and `ends_with` methods added to vectors via the > `ImmutableEqVector` trait, which is in the prelude. > * std: Vectors can be indexed with the `get_opt` method, which returns > `None` if the index is out of bounds. > * std: Task failure no longer propagates between tasks, as the model > was complex, expensive, and incompatible with thread-based tasks. > * std: The `Any` type can be used for dynamic typing. > * std: `~Any` can be passed to the `fail!` macro and retrieved via > `task::try`. > * std: Methods that produce iterators generally do not have an `_iter` > suffix now. > * std: `cell::Cell` and `cell::RefCell` can be used to introduc > mutability roots (mutable fields, etc.). Use instead of e.g. `@mut`. > * std: `util::ignore` renamed to `prelude::drop`. > * std: Slices have `sort` and `sort_by` methods via the `MutableVector` > trait. > * std: `vec::raw` has seen a lot of cleanup and API changes. > * std: The standard library no longer includes any C++ code, and very > minimal C, eliminating the dependency on libstdc++. > * std: Runtime scheduling and I/O functionality has been factored out > into extensible interfaces and is now implemented by two different > crates: libnative, for native threading and I/O; and libgreen, for > green threading and I/O. This paves the way for using the standard > library in more limited embeded environments. > * std: The `comm` module has been rewritten to be much faster, have a > simpler, more consistent API, and to work for both native and green > threading. > * std: All libuv dependencies have been moved into the rustuv crate. > * native: New implementations of runtime scheduling on top of OS > threads. > * native: New native implementations of TCP, UDP, file I/O, process > spawning, and other I/O. > * green: The green thread scheduler and message passing types are > almost entirely lock-free. > * extra: The `flatpipes` module had bitrotted and was removed. > * extra: All crypto functions have been removed and Rust now has a > policy of not reimplementing crypto in the standard library. In the > future crypto will be provided by external crates with bindings to > established libraries. > * extra: `c_vec` has been modernized. > * extra: The `sort` module has been removed. Use the `sort` method on > mutable slices. > > * Tooling > * The `rust` and `rusti` commands have been removed, due to lack of > maintenance. > * `rustdoc` was completely rewritten. > * `rustdoc` can test code examples in documentation. > * `rustpkg` can test packages with the argument, 'test'. > * `rustpkg` supports arbitrary dependencies, including C libraries. > * `rustc`'s support for generating debug info is improved again. > * `rustc` has better error reporting for unbalanced delimiters. > * `rustc`'s JIT support was removed due to bitrot. > * Executables and static libraries can be built with LTO (-Z lto) > * `rustc` adds a `--dep-info` flag for communicating dependencies to > build tools. > > > Contributors to Rust 0.9 > ------------------------ > > Adrien Tétar <[email protected]> <[email protected]> > Alan Andrade <[email protected]> <[email protected]> > Alexandros Tasos <[email protected]> <[email protected]> > Alex Crichton <[email protected]> <[email protected]> > a_m0d <[email protected]> <[email protected]> > Andreas Neuhaus <[email protected]> <[email protected]> > Andreas Ots <[email protected]> <[email protected]> > Andrei Formiga > <[email protected]><[email protected]> > Benjamin Herr <[email protected]> <[email protected]> > Benjamin Peterson <[email protected]> <[email protected]> > Birunthan Mohanathas <[email protected]> <[email protected]> > blake2-ppc <blake2-ppc> > Branimir <[email protected]> <[email protected]> > Brendan Zabarauskas <[email protected]> <[email protected]> > Brian Anderson <[email protected]> <[email protected]> > Brian <[email protected]> <[email protected]> > Cadence Marseille <[email protected]><[email protected]> > Carl-Anton Ingmarsson <[email protected]> <[email protected]> > Carol Willing > <[email protected]><[email protected]> > Carter Tazio Schonwald > <[email protected]><[email protected]> > chitra > <chitra@chitra-HP-Pavilion-g6-Notebook-PC.(none)><chitra@chitra-HP-Pavilion-g6-Notebook-PC.%28none%29> > Chris Morgan <[email protected]> <[email protected]> > Chris Sainty <[email protected]> <[email protected]> > Corey Richardson <[email protected]> <[email protected]> > Dan Connolly <[email protected]> <[email protected]> > Daniel Micay <[email protected]> <[email protected]> > Dan Luu <[email protected]> <[email protected]> > Dave Hodder <[email protected]> <[email protected]> > David Creswick <[email protected]> <[email protected]> > David Renshaw <[email protected]> <[email protected]> > Diego Ongaro <[email protected]> <[email protected]> > Dirkjan Bussink <[email protected]> <[email protected]> > Dmitry Ermolov <[email protected]> <[email protected]> > Do Nhat Minh <[email protected]> <[email protected]> > Eduard Burtescu <[email protected]> <[email protected]> > Edward Z. Yang <[email protected]> <[email protected]> > eliovir <[email protected]> <[email protected]> > Eric Biggers <[email protected]> <[email protected]> > Eric Holk <[email protected]> <[email protected]> > Erick Tryzelaar <[email protected]> <[email protected]> > Erik Lyon <[email protected]> <[email protected]> > Erik Price <[email protected]> <[email protected]> > Fabrice Desré <[email protected]> <[email protected]> > Felix S. Klock II <[email protected]> <[email protected]> > Flavio Percoco <[email protected]> <[email protected]> > flo-l <[email protected]> <[email protected]> > Florian Gilcher <[email protected]> <[email protected]> > Florian Hahn <[email protected]> <[email protected]> > Florian Zeitz <[email protected]> <[email protected]> > g3xzh <[email protected]> <[email protected]> > Gareth Smith <[email protected]> <[email protected]> > Geoff Hill <[email protected]> <[email protected]> > Geoffroy Couprie <[email protected]> <[email protected]> > Georges Dubus <[email protected]><[email protected]> > gifnksm <[email protected]> <[email protected]> > Guillaume Pinot <[email protected]> <[email protected]> > Gyorgy Andrasek <[email protected]> <[email protected]> > Harry Marr <[email protected]> <[email protected]> > Heather <[email protected]> <[email protected]> > Huon Wilson <[email protected]> <[email protected]> > Ian Daniher <[email protected]> <[email protected]> > Igor Bukanov <[email protected]> <[email protected]> > Isaac Dupree <[email protected]> <[email protected]> > Jack Moffitt <[email protected]> <[email protected]> > Jaemin Moon <[email protected]> <[email protected]> > Jan Niklas Hasse <[email protected]> <[email protected]> > Jannis Harder <[email protected]> <[email protected]> > Jason Orendorff <[email protected]> <[email protected]> > Jason Toffaletti <[email protected]> <[email protected]> > Jay Anderson <[email protected]> <[email protected]> > Jed Davis <[email protected]> <[email protected]> > Jeff Olson <[email protected]> <[email protected]> > Joe Schafer <[email protected]> <[email protected]> > John Louis Walker <[email protected]> <[email protected]> > Jordi Boggiano <[email protected]> <[email protected]> > Joshua Yanovski <[email protected]> <[email protected]> > Julia Evans <[email protected]> <[email protected]> > Jyun-Yan You <[email protected]> <[email protected]> > Keegan McAllister <[email protected]> <[email protected]> > Kevin Ballard <[email protected]> <[email protected]> > Kiet Tran <[email protected]> <[email protected]> > klutzy <[email protected]> <[email protected]> > kud1ing <[email protected]> <[email protected]> > Leah Hanson <[email protected]> <[email protected]> > LEE Wondong <[email protected]> <[email protected]> > Léo Testard <[email protected]> <[email protected]> > Lindsey Kuper <[email protected]> <[email protected]> > Luca Bruno <[email protected]> <[email protected]> > Luis de Bethencourt <[email protected]> <[email protected]> > Luqman Aden <[email protected]> <[email protected]> > lyuts <[email protected]> <[email protected]> > Mark Rowe <[email protected]> <[email protected]> > Marvin Löbel <[email protected]> <[email protected]> > Matt Carberry <[email protected]> <[email protected]> > Matthew Auld <[email protected]> <[email protected]> > Matthew Iselin <[email protected]> <[email protected]> > Micah Chalmer <[email protected]> <[email protected]> > Michael 'devbug' Williams <[email protected]> <[email protected]> > Michael Letterle <[email protected]> <[email protected]> > Michael Woerister <michaelwoerister@gmail> > niftynif <[email protected]> <[email protected]> > Niko Matsakis <[email protected]> <[email protected]> > Noufal Ibrahim <[email protected]> <[email protected]> > Olivier Saut <[email protected]> <[email protected]> > osa1 <[email protected]> <[email protected]> > Palmer Cox <[email protected]> <[email protected]> > Patrick Walton <[email protected]> <[email protected]> > Peter Zotov <[email protected]> <[email protected]> > Philipp Brüschweiler <[email protected]> <[email protected]> > Raphael Speyer <[email protected]> <[email protected]> > reedlepee <[email protected]> <[email protected]> > Richard Diamond <[email protected]><[email protected]> > Robert Irelan <[email protected]> <[email protected]> > Scott Lawrence <[email protected]> <[email protected]> > Sébastien Chauvel <[email protected]> <[email protected]> > Sébastien Crozet <[email protected]> <[email protected]> > Sébastien Paolacci > <[email protected]><[email protected]> > Seo Sanghyeon <[email protected]> <[email protected]> > sh8281.kim <[email protected]> <[email protected]> > SiegeLord <[email protected]> <[email protected]> > sp3d <sp3d@github> > S Pradeep Kumar <[email protected]> <[email protected]> > Steve Klabnik <[email protected]> <[email protected]> > Steven Fackler <[email protected]> <[email protected]> > Strahinja Val Markovic <[email protected]> <[email protected]> > Tim Chevalier <[email protected]><[email protected]> > Tomas Sedovic <[email protected]> <[email protected]> > Vadim Chugunov <[email protected]> <[email protected]> > Vijay Korapaty <[email protected]> <[email protected]> > Volker Mische <[email protected]> <[email protected]> > Young-il Choi <[email protected]> <[email protected]> > Zach Kamsler <[email protected]> <[email protected]> > Zack Corr <[email protected]> <[email protected]> > Ziad Hatahet <[email protected]> <[email protected]> > > _______________________________________________ > Rust-dev mailing list > [email protected] > https://mail.mozilla.org/listinfo/rust-dev > > _______________________________________________ > Rust-dev mailing list > [email protected] > https://mail.mozilla.org/listinfo/rust-dev > >
_______________________________________________ Rust-dev mailing list [email protected] https://mail.mozilla.org/listinfo/rust-dev
