Fantastic release!  I think Rust is really becoming a usable language
for "real" projects.  Great work from everyone involved!

I look forward to future releases, and to building some great products in Rust!

On Thu, Jan 9, 2014 at 1:10 PM, Benjamin Striegel
<[email protected]> wrote:
> 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]>
>> Alan Andrade <[email protected]>
>> Alexandros Tasos <[email protected]>
>> Alex Crichton <[email protected]>
>> a_m0d <[email protected]>
>> Andreas Neuhaus <[email protected]>
>> Andreas Ots <[email protected]>
>> Andrei Formiga <[email protected]>
>> Benjamin Herr <[email protected]>
>> Benjamin Peterson <[email protected]>
>> Birunthan Mohanathas <[email protected]>
>> blake2-ppc <blake2-ppc>
>> Branimir <[email protected]>
>> Brendan Zabarauskas <[email protected]>
>> Brian Anderson <[email protected]>
>> Brian <[email protected]>
>> Cadence Marseille <[email protected]>
>> Carl-Anton Ingmarsson <[email protected]>
>> Carol Willing <[email protected]>
>> Carter Tazio Schonwald <[email protected]>
>> chitra <chitra@chitra-HP-Pavilion-g6-Notebook-PC.(none)>
>> Chris Morgan <[email protected]>
>> Chris Sainty <[email protected]>
>> Corey Richardson <[email protected]>
>> Dan Connolly <[email protected]>
>> Daniel Micay <[email protected]>
>> Dan Luu <[email protected]>
>> Dave Hodder <[email protected]>
>> David Creswick <[email protected]>
>> David Renshaw <[email protected]>
>> Diego Ongaro <[email protected]>
>> Dirkjan Bussink <[email protected]>
>> Dmitry Ermolov <[email protected]>
>> Do Nhat Minh <[email protected]>
>> Eduard Burtescu <[email protected]>
>> Edward Z. Yang <[email protected]>
>> eliovir <[email protected]>
>> Eric Biggers <[email protected]>
>> Eric Holk <[email protected]>
>> Erick Tryzelaar <[email protected]>
>> Erik Lyon <[email protected]>
>> Erik Price <[email protected]>
>> Fabrice Desré <[email protected]>
>> Felix S. Klock II <[email protected]>
>> Flavio Percoco <[email protected]>
>> flo-l <[email protected]>
>> Florian Gilcher <[email protected]>
>> Florian Hahn <[email protected]>
>> Florian Zeitz <[email protected]>
>> g3xzh <[email protected]>
>> Gareth Smith <[email protected]>
>> Geoff Hill <[email protected]>
>> Geoffroy Couprie <[email protected]>
>> Georges Dubus <[email protected]>
>> gifnksm <[email protected]>
>> Guillaume Pinot <[email protected]>
>> Gyorgy Andrasek <[email protected]>
>> Harry Marr <[email protected]>
>> Heather <[email protected]>
>> Huon Wilson <[email protected]>
>> Ian Daniher <[email protected]>
>> Igor Bukanov <[email protected]>
>> Isaac Dupree <[email protected]>
>> Jack Moffitt <[email protected]>
>> Jaemin Moon <[email protected]>
>> Jan Niklas Hasse <[email protected]>
>> Jannis Harder <[email protected]>
>> Jason Orendorff <[email protected]>
>> Jason Toffaletti <[email protected]>
>> Jay Anderson <[email protected]>
>> Jed Davis <[email protected]>
>> Jeff Olson <[email protected]>
>> Joe Schafer <[email protected]>
>> John Louis Walker <[email protected]>
>> Jordi Boggiano <[email protected]>
>> Joshua Yanovski <[email protected]>
>> Julia Evans <[email protected]>
>> Jyun-Yan You <[email protected]>
>> Keegan McAllister <[email protected]>
>> Kevin Ballard <[email protected]>
>> Kiet Tran <[email protected]>
>> klutzy <[email protected]>
>> kud1ing <[email protected]>
>> Leah Hanson <[email protected]>
>> LEE Wondong <[email protected]>
>> Léo Testard <[email protected]>
>> Lindsey Kuper <[email protected]>
>> Luca Bruno <[email protected]>
>> Luis de Bethencourt <[email protected]>
>> Luqman Aden <[email protected]>
>> lyuts <[email protected]>
>> Mark Rowe <[email protected]>
>> Marvin Löbel <[email protected]>
>> Matt Carberry <[email protected]>
>> Matthew Auld <[email protected]>
>> Matthew Iselin <[email protected]>
>> Micah Chalmer <[email protected]>
>> Michael 'devbug' Williams <[email protected]>
>> Michael Letterle <[email protected]>
>> Michael Woerister <michaelwoerister@gmail>
>> niftynif <[email protected]>
>> Niko Matsakis <[email protected]>
>> Noufal Ibrahim <[email protected]>
>> Olivier Saut <[email protected]>
>> osa1 <[email protected]>
>> Palmer Cox <[email protected]>
>> Patrick Walton <[email protected]>
>> Peter Zotov <[email protected]>
>> Philipp Brüschweiler <[email protected]>
>> Raphael Speyer <[email protected]>
>> reedlepee <[email protected]>
>> Richard Diamond <[email protected]>
>> Robert Irelan <[email protected]>
>> Scott Lawrence <[email protected]>
>> Sébastien Chauvel <[email protected]>
>> Sébastien Crozet <[email protected]>
>> Sébastien Paolacci <[email protected]>
>> Seo Sanghyeon <[email protected]>
>> sh8281.kim <[email protected]>
>> SiegeLord <[email protected]>
>> sp3d <sp3d@github>
>> S Pradeep Kumar <[email protected]>
>> Steve Klabnik <[email protected]>
>> Steven Fackler <[email protected]>
>> Strahinja Val Markovic <[email protected]>
>> Tim Chevalier <[email protected]>
>> Tomas Sedovic <[email protected]>
>> Vadim Chugunov <[email protected]>
>> Vijay Korapaty <[email protected]>
>> Volker Mische <[email protected]>
>> Young-il Choi <[email protected]>
>> Zach Kamsler <[email protected]>
>> Zack Corr <[email protected]>
>> Ziad Hatahet <[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
>
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to