Skip to content

Bump version number to 0.7, add more relnotes #7517

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jul 1, 2013
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ endif

# version-string calculation
CFG_GIT_DIR := $(CFG_SRC_DIR).git
CFG_RELEASE = 0.7-pre
CFG_RELEASE = 0.7
CFG_VERSION = $(CFG_RELEASE)
# windows exe's need numeric versions - don't use anything but
# numbers and dots here
Expand Down
65 changes: 35 additions & 30 deletions RELEASES.txt
Original file line number Diff line number Diff line change
@@ -1,54 +1,56 @@
Version 0.7 (July 2013)
-----------------------

* ??? changes, numerous bugfixes
* ~2000 changes, numerous bugfixes

* Syntax changes
* Language
* `impl`s no longer accept a visibility qualifier. Put them on methods
instead.
* `use mod` is no longer valid.
* `fail!` and `assert!` accept `~str`, `&'static str` or `fmt!`-style
argument list.
* `Encodable`, `Decodable`, `Ord`, `TotalOrd`, `TotalEq`, `DeepClone`,
`Rand`, `Zero` and `ToStr` can all be automatically derived with
`#[deriving(...)]`.
* The `Durable` trait is replaced with the `'static` bounds.
* At long last, 'argument modes' no longer exist.
* The `bytes!` macro returns a vector of bytes for string, u8, char,
and unsuffixed integer literals.
* `#[static_assert]` makes compile-time assertions about static bools.

* Semantic changes
* The borrow checker has been rewritten with flow-sensitivity, fixing
many bugs and inconveniences.
* The `self` parameter no longer implicitly means `&'self self`,
and can be explicitly marked with a lifetime.
* Structs with the `#[packed]` attribute have byte alignment and
no padding between fields.
* Overloadable compound operators (`+=`, etc.) have been temporarily
removed due to bugs.
* The `for` loop protocol now requires `for`-iterators to return `bool`
so they compose better.
* The `Durable` trait is replaced with the `'static` bounds.
* Trait default methods work more often.
* Structs with the `#[packed]` attribute have byte alignment and
no padding between fields.
* Type parameters bound by `Copy` must now be copied explicitly with
the `copy` keyword.
* It is now illegal to move out of a dereferenced unsafe pointer.
* `Option<~T>` is now represented as a nullable pointer.
* `@mut` does dynamic borrow checks correctly.
* Macros TODO
* The `main` function is only detected at the topmost level of the crate.
The `#[main]` attribute is still valid anywhere.
* Struct fields may no longer be mutable. Use inherited mutability.
* The `#[non_owned]` attribute makes a type that would otherwise be
`Owned`, not. TODO this may change to non_send before 0.7
* The `#[mutable]` attribute makes a type that would otherwise be
`Const`, note. TODO this may change to non_freeze before 0.7
* The `#[no_send]` attribute makes a type that would otherwise be
`Send`, not.
* The `#[no_freeze]` attribute makes a type that would otherwise be
`Freeze`, not.
* Unbounded recursion will abort the process after reaching the limit
specified by the `RUST_MAX_STACK` environment variable (default: 1GB).
* The `vecs_implicitly_copyable` lint mode has been removed. Vectors
are never implicitly copyable.
* `#[static_assert]` makes compile-time assertions about static bools.
* At long last, 'argument modes' no longer exist.
* The rarely used `use mod` statement no longer exists.

* Syntax extensions
* `fail!` and `assert!` accept `~str`, `&'static str` or `fmt!`-style
argument list.
* `Encodable`, `Decodable`, `Ord`, `TotalOrd`, `TotalEq`, `DeepClone`,
`Rand`, `Zero` and `ToStr` can all be automatically derived with
`#[deriving(...)]`.
* The `bytes!` macro returns a vector of bytes for string, u8, char,
and unsuffixed integer literals.

* Libraries
* The `core` crate was renamed to `std`.
* The `std` crate was renamed to `extra`.
* More and improved documentation.
* std: `iterator` module for external iterator objects.
* Many old-style (internal, higher-order function) iterators replaced by
implementations of `Iterator`.
Expand Down Expand Up @@ -91,8 +93,16 @@ Version 0.7 (July 2013)
* extra: Implementation of fixed output size variations of SHA-2.

* Tooling
* `unused_unsafe` lint mode for detecting unnecessary `unsafe` blocks.
* `unused_mut` lint mode for identifying unused `mut` qualifiers.
* `unused_variable` lint mode for unused variables (default: warn).
* `unused_unsafe` lint mode for detecting unnecessary `unsafe` blocks
(default: warn).
* `unused_mut` lint mode for identifying unused `mut` qualifiers
(default: warn).
* `dead_assignment` lint mode for unread variables (default: warn).
* `unnecessary_allocation` lint mode detects some heap allocations that are
immediately borrowed so could be written without allocating (default: warn).
* `missing_doc` lint mode (default: allow).
* `unreachable_code` lint mode (default: warn).
* The `rusti` command has been rewritten and a number of bugs addressed.
* rustc outputs in color on more terminals.
* rustc accepts a `--link-args` flag to pass arguments to the linker.
Expand All @@ -101,12 +111,7 @@ Version 0.7 (July 2013)
dynamic borrowcheck failures for debugging.
* rustdoc has a nicer stylesheet.
* Various improvements to rustdoc.
* Improvements to rustpkg (see the detailed release notes)

* Other
* More and improved library documentation.
* Various improvements on ARM and Android.
* Various improvements to MIPS backend.
* Improvements to rustpkg (see the detailed release notes).

Version 0.6 (April 2013)
------------------------
Expand Down
4 changes: 2 additions & 2 deletions src/compiletest/compiletest.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
#[no_core]; // XXX: Remove after snapshot
#[no_std];

extern mod core(name = "std", vers = "0.7-pre");
extern mod extra(name = "extra", vers = "0.7-pre");
extern mod core(name = "std", vers = "0.7");
extern mod extra(name = "extra", vers = "0.7");

use core::prelude::*;
use core::*;
Expand Down
2 changes: 1 addition & 1 deletion src/driver/driver.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#[no_core];
#[no_std];

extern mod core(name = "std", vers = "0.7-pre");
extern mod core(name = "std", vers = "0.7");

#[cfg(rustpkg)]
extern mod this(name = "rustpkg");
Expand Down
2 changes: 1 addition & 1 deletion src/etc/kate/rust.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<!ENTITY rustIdent "[a-zA-Z_][a-zA-Z_0-9]*">
<!ENTITY rustIntSuf "([iu](8|16|32|64)?)?">
]>
<language name="Rust" version="0.7-pre" kateversion="2.4" section="Sources" extensions="*.rs;*.rc" mimetype="text/x-rust" priority="15">
<language name="Rust" version="0.7" kateversion="2.4" section="Sources" extensions="*.rs;*.rc" mimetype="text/x-rust" priority="15">
<highlighting>
<list name="fn">
<item> fn </item>
Expand Down
2 changes: 1 addition & 1 deletion src/libextra/extra.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Rust extras are part of the standard Rust distribution.
*/

#[link(name = "extra",
vers = "0.7-pre",
vers = "0.7",
uuid = "122bed0b-c19b-4b82-b0b7-7ae8aead7297",
url = "https://github.com/mozilla/rust/tree/master/src/libextra")];

Expand Down
2 changes: 1 addition & 1 deletion src/librust/rust.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
// FIXME #2238 Make run only accept source that emits an executable

#[link(name = "rust",
vers = "0.7-pre",
vers = "0.7",
uuid = "4a24da33-5cc8-4037-9352-2cbe9bd9d27c",
url = "https://github.com/mozilla/rust/tree/master/src/rust")];

Expand Down
2 changes: 1 addition & 1 deletion src/librustc/front/std_inject.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ use syntax::codemap::dummy_sp;
use syntax::codemap;
use syntax::fold;

static STD_VERSION: &'static str = "0.7-pre";
static STD_VERSION: &'static str = "0.7";

pub fn maybe_inject_libstd_ref(sess: Session, crate: @ast::crate)
-> @ast::crate {
Expand Down
2 changes: 1 addition & 1 deletion src/librustc/front/test.rs
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ mod __test {
*/

fn mk_std(cx: &TestCtxt) -> @ast::view_item {
let vers = ast::lit_str(@"0.7-pre");
let vers = ast::lit_str(@"0.7");
let vers = nospan(vers);
let mi = ast::meta_name_value(@"vers", vers);
let mi = nospan(mi);
Expand Down
2 changes: 1 addition & 1 deletion src/librustc/rustc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
// except according to those terms.

#[link(name = "rustc",
vers = "0.7-pre",
vers = "0.7",
uuid = "0ce89b41-2f92-459e-bbc1-8f5fe32f16cf",
url = "https://github.com/mozilla/rust/tree/master/src/rustc")];

Expand Down
2 changes: 1 addition & 1 deletion src/librustdoc/rustdoc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
//! Rustdoc - The Rust documentation generator

#[link(name = "rustdoc",
vers = "0.7-pre",
vers = "0.7",
uuid = "f8abd014-b281-484d-a0c3-26e3de8e2412",
url = "https://github.com/mozilla/rust/tree/master/src/rustdoc")];

Expand Down
2 changes: 1 addition & 1 deletion src/librusti/rusti.rc
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
*/

#[link(name = "rusti",
vers = "0.7-pre",
vers = "0.7",
uuid = "7fb5bf52-7d45-4fee-8325-5ad3311149fc",
url = "https://github.com/mozilla/rust/tree/master/src/rusti")];

Expand Down
2 changes: 1 addition & 1 deletion src/librusti/rusti.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
*/

#[link(name = "rusti",
vers = "0.7-pre",
vers = "0.7",
uuid = "7fb5bf52-7d45-4fee-8325-5ad3311149fc",
url = "https://github.com/mozilla/rust/tree/master/src/rusti")];

Expand Down
2 changes: 1 addition & 1 deletion src/librustpkg/rustpkg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
// rustpkg - a package manager and build system for Rust

#[link(name = "rustpkg",
vers = "0.7-pre",
vers = "0.7",
uuid = "25de5e6e-279e-4a20-845c-4cabae92daaf",
url = "https://github.com/mozilla/rust/tree/master/src/librustpkg")];

Expand Down
2 changes: 1 addition & 1 deletion src/libstd/std.rs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ they contained the following prologue:


#[link(name = "std",
vers = "0.7-pre",
vers = "0.7",
uuid = "c70c24a7-5551-4f73-8e37-380b11d80be8",
url = "https://github.com/mozilla/rust/tree/master/src/libstd")];

Expand Down
2 changes: 1 addition & 1 deletion src/libsyntax/syntax.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
*/

#[link(name = "syntax",
vers = "0.7-pre",
vers = "0.7",
uuid = "9311401b-d6ea-4cd9-a1d9-61f89499c645")];

#[license = "MIT/ASL2"];
Expand Down
2 changes: 1 addition & 1 deletion src/test/run-pass/use.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#[no_std];
extern mod std;
extern mod zed(name = "std");
extern mod bar(name = "std", vers = "0.7-pre");
extern mod bar(name = "std", vers = "0.7");


use std::str;
Expand Down