Skip to content
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

Release notes for 1.8 #32810

Merged
merged 1 commit into from Apr 8, 2016

Conversation

Projects
None yet
@brson
Copy link
Contributor

brson commented Apr 7, 2016

cc @steveklabnik to me the highlights are compound assignment overloading, 32-bit MSVC builds being ready for use, and the cargo improvements.

Rendered.

@rust-highfive

This comment has been minimized.

Copy link
Collaborator

rust-highfive commented Apr 7, 2016

r? @nikomatsakis

(rust_highfive has picked a reviewer for you, use r? to override)

RELEASES.md Outdated
instead return widened integers. [RFC 1415].
* [`btree_set::{IntoIter, Iter, Range}` are covariant][1.8cv].
* [Atomics are not volatile][1.8a].
* [All types is `sync::mpsc` implement `fmt::Debug`][1.8mp].

This comment has been minimized.

@sfackler

@brson brson force-pushed the brson:relnotes branch from 4965160 to f4828f7 Apr 7, 2016

RELEASES.md Outdated
* [Tuple and unit enum variants from other crates are in the type
namespace][1.8tn].
* [MSVC builds of Rust on Windows emit `.lib` files for the `staticlib`
library type instead of `.a` files][1.8st].

This comment has been minimized.

@retep998

retep998 Apr 7, 2016

Member

This actually affects all Rust on Windows, both gnu and msvc. The change that is specific to msvc is that import libraries for dylibs were renamed from foo.lib to foo.dll.lib, and it is only specific to msvc because gnu currently doesn't emit import libraries.

This comment has been minimized.

@brson

brson Apr 8, 2016

Author Contributor

Thanks for the clarifications.

RELEASES.md Outdated
traits. [RFC 953].
* Empty structs can be defined with braces, as in `struct Foo { }`, in
addition to the non-braced form, `struct Foo;`. [RFC 218].
* [The `#[thread_local]` attribute can be applied to extern statics][1.8tl].

This comment has been minimized.

@alexcrichton

alexcrichton Apr 8, 2016

Member

This attribute isn't stable yet, so perhaps we should hold off on mentioning it?

This comment has been minimized.

@brson

brson Apr 8, 2016

Author Contributor

OK.

RELEASES.md Outdated
[`BitXorAssign`], [`ShlAssign`], [`ShrAssign`].
* [The `write!` and `writeln!` macros correctly emit errors if any of
their arguments can't be formatted][1.8w].
* [Various I/O functions support large files on Linux][1.8l].

This comment has been minimized.

@alexcrichton

alexcrichton Apr 8, 2016

Member

"on 32-bit Linux"

RELEASES.md Outdated
numbers [no longer return platform-specific types][1.8r], but
instead return widened integers. [RFC 1415].
* [`btree_set::{IntoIter, Iter, Range}` are covariant][1.8cv].
* [Atomics are not volatile][1.8a].

This comment has been minimized.

@alexcrichton

alexcrichton Apr 8, 2016

Member

"Atomic loads and stores are no longer volatile"

RELEASES.md Outdated
Misc
----

* [32-bit MSVC builds use SEH for unwinding instead of DWARF][1.8ms].

This comment has been minimized.

@alexcrichton

alexcrichton Apr 8, 2016

Member

Here 32-bit MSVC actually never used DWARF, it just flat out never worked before. This is essentially the first release where 32-bit MSVC is a tier 1 platform

RELEASES.md Outdated
directory][1.8ci]. It is otherwise like `cargo new`.
* [Cargo has configuration keys for `-v` and
`--color`][1.8cc]. `verbose` and `color`, respectively, go in the
`[term]` section of `.cargo/configure`.

This comment has been minimized.

@alexcrichton

alexcrichton Apr 8, 2016

Member

.cargo/config

RELEASES.md Outdated
* On Unix, [stack overflow triggers a runtime abort instead of a
SIGSEGV][1.8so].
* [`Command::spawn` and its equivalents return an error if any of
its command-line arguments contain interior `NULL`s][1.8n].

This comment has been minimized.

@alexcrichton

alexcrichton Apr 8, 2016

Member

s/NULL/NUL/

@alexcrichton

This comment has been minimized.

Copy link
Member

alexcrichton commented Apr 8, 2016

Thanks for putting these together @brson !

@japaric

This comment has been minimized.

Copy link
Member

japaric commented Apr 8, 2016

May also want to mention that there are now a bunch of new nightly releases of rustc and cargo for these hosts: 3 arm linux triples, aarch64 linux and {net,free}bsd. And libstd binaries for i686-musl (did this reach prod yet?) and mips(el)-musl. However, I don't know if any of those will have a stable/beta release next week. Perhaps @alexcrichton can confirm that?

@alexcrichton

This comment has been minimized.

Copy link
Member

alexcrichton commented Apr 8, 2016

Right of course! I guess maybe it's a little soon to announce rustup, but we've got a whole mess of new target standard libraries built just yet. Unfortunately the compilers @japaric mentions are only available on nightly (soon to be beta), but we've got new targets like:

  • armv7-unknown-linux-gnueabihf
  • powerpc-unknown-linux-gnu
  • powerpc64-unknown-linux-gnu
  • powerpc64le-unknown-linux-gnu
  • x86_64-rumprun-netbsd

@brson brson force-pushed the brson:relnotes branch from f4828f7 to 1e93079 Apr 8, 2016

@brson

This comment has been minimized.

Copy link
Contributor Author

brson commented Apr 8, 2016

Addressed feedback. I mentioned the new binary targets and snuck in a link to the urlo post explaining how to use them w/ multirust.

@brson

This comment has been minimized.

Copy link
Contributor Author

brson commented Apr 8, 2016

@steveklabnik The new targets are probably a highlight.

@brson brson force-pushed the brson:relnotes branch 2 times, most recently from b9a27f4 to 64c3a27 Apr 8, 2016

RELEASES.md Outdated
* [On Windows `rustc` emits `.lib` files for the `staticlib` library
type instead of `.a` files][1.8st]. Additionally, for the MSVC
toolchain, `rustc` emits import libraries named `foo.dll.lib`
instead of `foo.dll`.

This comment has been minimized.

@retep998

retep998 Apr 8, 2016

Member

instead of foo.lib.

This comment has been minimized.

@brson

brson Apr 8, 2016

Author Contributor

haha

RELEASES.md Outdated
will warn about their usage. In the future, all unstable flags will
be unavailable on the stable release channel.
* [It is no longer possible to `match` on empty enum variants using
the `Variant(..)` syntax][1.8w]. This has been a warning since 1.6.

This comment has been minimized.

@durka

durka Apr 8, 2016

Contributor

s/1.8w/1.8v

@steveklabnik

This comment has been minimized.

Copy link
Member

steveklabnik commented Apr 8, 2016

Will check this out soon.

across platforms was making it difficult to implement `std`
correctly. Those that need these definitions should use the `libc`
crate. [RFC 1415].
* The Unix-specific `MetadataExt` traits, including

This comment has been minimized.

@apasel422

apasel422 Apr 8, 2016

Member

Seems like there's a missing comma in this sentence, or a disagreement between "exposes" and its subject.

This comment has been minimized.

@brson

brson Apr 8, 2016

Author Contributor

Good catch

RELEASES.md Outdated
be unavailable on the stable release channel.
* [It is no longer possible to `match` on empty enum variants using
the `Variant(..)` syntax][1.8w]. This has been a warning since 1.6.
* The Unix-specific `MetadataExt` traits, including

This comment has been minimized.

@apasel422

apasel422 Apr 8, 2016

Member

Same comma/agreement issue as above.

RELEASES.md Outdated
`os::unix::fs::MetadataExt`, which exposes values such as inode
numbers [no longer return platform-specific types][1.8r], but
instead return widened integers. [RFC 1415].
* [Modules sourced from the filesystem can not appear within arbitrary

This comment has been minimized.

@apasel422

apasel422 Apr 8, 2016

Member

s/can not/cannot/

@steveklabnik

This comment has been minimized.

Copy link
Member

steveklabnik commented Apr 8, 2016

Looks good here! Agree with your summary of important stuff. Once this is r+'d, I'll work on the announcement post.

@alexcrichton

This comment has been minimized.

Copy link
Member

alexcrichton commented Apr 8, 2016

r=me with the fixes mentioned here

@brson brson force-pushed the brson:relnotes branch from 64c3a27 to 94a387e Apr 8, 2016

@brson

This comment has been minimized.

Copy link
Contributor Author

brson commented Apr 8, 2016

@bors r+ p=1

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Apr 8, 2016

📌 Commit 94a387e has been approved by brson

[1.8h]: https://github.com/rust-lang/rust/pull/31460
[1.8l]: https://github.com/rust-lang/rust/pull/31668
[1.8m]: https://github.com/rust-lang/rust/pull/31020
[1.8m]: https://github.com/rust-lang/rust/pull/31534

This comment has been minimized.

@durka

durka Apr 8, 2016

Contributor

duplicate link label, causing wrong target for one of the links

This comment has been minimized.

@solson

solson Apr 11, 2016

Member

The PR was merged without fixing this, cc @brson

@bors

This comment has been minimized.

Copy link
Contributor

bors commented Apr 8, 2016

⌛️ Testing commit 94a387e with merge bf44003...

bors added a commit that referenced this pull request Apr 8, 2016

Auto merge of #32810 - brson:relnotes, r=brson
Release notes for 1.8

cc @steveklabnik to me the highlights are compound assignment overloading, 32-bit MSVC builds being ready for use, and the cargo improvements.

[Rendered](https://github.com/brson/rust/blob/relnotes/RELEASES.md).

@bors bors merged commit 94a387e into rust-lang:master Apr 8, 2016

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details

@brson brson removed the beta-nominated label Apr 9, 2016


* [`cargo init` creates a new Cargo project in the current
directory][1.8ci]. It is otherwise like `cargo new`.
* [Cargo has configuration keys for `-v` and

This comment has been minimized.

@matklad

matklad Apr 11, 2016

Member

If I am not mistaken another new subcommand in this release is cargo metadata.

* [Executable stacks are disabled on Linux and BSD][1.8nx].
* The Rust Project now publishes binary releases of the standard
library for a number of tier-2 targets:
`armv7-unknown-linux-gnueabihf`, `powerpc-unknown-linux-gnu`,

This comment has been minimized.

@SimonSapin

SimonSapin Apr 11, 2016

Contributor

@brson What’s the difference between arm and armv7? Or rather, where can I read a more verbose definition of what Rust or LLVM (whichever is relevant here) call various architectures? Thanks.

This comment has been minimized.

@alexcrichton

alexcrichton Apr 12, 2016

Member

arm ends up generating armv6 instructions whereas armv7 generates armv7 instructions, but beyond that they should be the same.

Unfortunately I don't know about the actual differences between armv6 and armv7 beyond our generated armv7 binaries are generally faster.

* [The `--print targets` flag prints a list of supported targets][1.8t].
* [The `--print cfg` flag prints the `cfg`s defined for the current
target][1.8cf].
* [`rustc` can be built with an new Cargo-based build system, written

This comment has been minimized.

@kscz

kscz Apr 12, 2016

No idea if this is the right forum to make a comment, but I think this line should be "can be built with a new" not "an new"

This comment has been minimized.

@steveklabnik
@hoodie

This comment has been minimized.

Copy link
Contributor

hoodie commented Apr 13, 2016

the link under cargo "The environment variables CARGO_TARGET_ROOT, RUSTC, and RUSTDOC take precedence over the build.target-dir, build.rustc, and build.rustdoc configuration values." does not seem to link to where it's supposed to link to

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.