From 5db367b836453c6372777818fbbd15fbbbce40f4 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 14 Sep 2012 19:49:05 -0700 Subject: [PATCH] Start working on 0.4 release notes --- RELEASES.txt | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/RELEASES.txt b/RELEASES.txt index a0498b106e2..0a3a44761ba 100644 --- a/RELEASES.txt +++ b/RELEASES.txt @@ -1,3 +1,51 @@ +Version 0.4 (September 2012) + + * ~1500 changes + + * Syntax + * All keywords are now strict and may not be used as identifiers anywhere + * Keyword removal: 'again', 'import', 'check', 'new', 'owned', 'send', + 'of', 'with', 'to', 'class'. + * Classes are replaced with simpler structs + * Method self types + * `ret` became `return` and `alt` became `match` + + * Semantics + * Trait implementations are now coherent, ala Haskell typeclasses + * Borrowed pointers are much more mature and recommended for use + * Strings and vectors in the static region are stored in constant memory + * Typestate was removed + * Resolution is rewritten to be more reliable + * Support for 'dual-mode' data structures (freezing and thawing) + * Last-use analysis is only used for warnings now. Moves must be explicit + for lvalues (TODO: confirm) + + * Libraries + * Most binary operators can now be overloaded via the traits in + `core::ops' + * `std::net::url` for representing URLs + * Sendable hash maps in `core::send_map` + * `core::task' gained a (currently very unsafe) task-local storage API + + * Concurrency + * An effecient new intertask communication primitive called `core::pipes` + * `std::arc`, an atomically reference counted, immutable, shared memory + type + * `std::sync`, various exotic synchronization tools based on arcs and pipes + * Futures are now based on pipes and sendable + * More robust linked task failure + * Improved task builder API + + * Other + * Improved error reporting + * Preliminary JIT support + * Preliminary work on precise GC + * Extensive architectural improvements to rustc + * Begun a transition away from buggy C++-based reflection (shape) code to + Rust-based (visitor) code + * Hash functions improved across the codebase (TODO: need details) + * New lint checks (TODO: which?) + Version 0.3 (July 2012) ------------------------