rust/RELEASES.txt

133 lines
4.4 KiB
Plaintext
Raw Normal View History

2012-07-11 04:06:58 +02:00
Version 0.3 (July 2012)
------------------------
2012-06-23 03:08:43 +02:00
2012-07-11 04:06:58 +02:00
* ~1900 changes, numerous bugfixes
* New coding conveniences
* Integer-literal suffix inference
2012-07-05 01:11:37 +02:00
* Per-item control over warnings, errors
* #[cfg(windows)] and #[cfg(unix)] attributes
* Documentation comments
* More compact closure syntax
2012-07-05 21:38:07 +02:00
* 'do' expressions for treating higher-order functions as
control structures
2012-07-05 01:11:37 +02:00
* *-patterns (wildcard extended to all constructor fields)
* Semantic cleanup
2012-07-05 21:38:07 +02:00
* Name resolution pass and exhaustiveness checker rewritten
2012-07-06 01:36:11 +02:00
* Region pointers and borrow checking supersede alias
analysis
2012-07-05 21:38:07 +02:00
* Init-ness checking is now provided by a region-based liveness
pass instead of the typestate pass; same for last-use analysis
* Extensive work on region pointers
* Experimental new language features
* Slices and fixed-size, interior-allocated vectors
* #!-comments for lang versioning, shell execution
* Destructors and iface implementation for classes;
type-parameterized classes and class methods
2012-07-05 21:38:07 +02:00
* 'const' type kind for types that can be used to implement
shared-memory concurrency patterns
* Type reflection
* Removal of various obsolete features
* Keywords: 'be', 'prove', 'syntax', 'note', 'mutable', 'bind',
2012-07-11 04:06:58 +02:00
'crust', 'native' (now 'extern'), 'cont' (now 'again')
* Constructs: do-while loops ('do' repurposed), fn binding,
resources (replaced by destructors)
* Compiler reorganization
* Syntax-layer of compiler split into separate crate
* Clang (from LLVM project) integrated into build
* Typechecker split into sub-modules
* New library code
* New time functions
* Extension methods for many built-in types
* Arc: atomic-refcount read-only / exclusive-use shared cells
* Par: parallel map and search routines
* Extensive work on libuv interface
* Much vector code moved to libraries
* Syntax extensions: #line, #col, #file, #mod, #stringify,
#include, #include_str, #include_bin
* Tool improvements
* Cargo automatically resolves dependencies
2012-03-27 03:17:55 +02:00
Version 0.2 (March 2012)
-------------------------
2012-03-27 21:54:43 +02:00
* >1500 changes, numerous bugfixes
2012-03-27 03:17:55 +02:00
* New docs and doc tooling
* New port: FreeBSD x86_64
* Compilation model enhancements
* Generics now specialized, multiply instantiated
* Functions now inlined across separate crates
* Scheduling, stack and threading fixes
2012-03-28 22:05:59 +02:00
* Noticeably improved message-passing performance
2012-03-27 03:17:55 +02:00
* Explicit schedulers
* Callbacks from C
* Helgrind clean
2012-03-27 21:54:43 +02:00
* Experimental new language features
2012-03-27 03:17:55 +02:00
* Operator overloading
* Region pointers
* Classes
* Various language extensions
* C-callback function types: 'crust fn ...'
* Infinite-loop construct: 'loop { ... }'
* Shorten 'mutable' to 'mut'
* Required mutable-local qualifier: 'let mut ...'
* Basic glob-exporting: 'export foo::*;'
* Alt now exhaustive, 'alt check' for runtime-checked
2012-03-27 21:54:43 +02:00
* Block-function form of 'for' loop, with 'break' and 'ret'.
2012-03-27 03:17:55 +02:00
* New library code
* AST quasi-quote syntax extension
* Revived libuv interface
* New modules: core::{future, iter}, std::arena
* Merged per-platform std::{os*, fs*} to core::{libc, os}
* Extensive cleanup, regularization in libstd, libcore
2012-01-18 23:46:52 +01:00
Version 0.1 (January 2012)
---------------------------
2012-01-20 06:17:23 +01:00
* Most language features work, including:
* Unique pointers, unique closures, move semantics
* Interface-constrained generics
* Static interface dispatch
* Stack growth
* Multithread task scheduling
* Typestate predicates
* Failure unwinding, destructors
* Pattern matching and destructuring assignment
* Lightweight block-lambda syntax
* Preliminary macro-by-example
* Compiler works with the following configurations:
2012-01-18 23:46:52 +01:00
* Linux: x86 and x86_64 hosts and targets
* MacOS: x86 and x86_64 hosts and targets
* Windows: x86 hosts and targets
* Cross compilation / multi-target configuration supported.
* Preliminary API-documentation and package-management tools included.
Known issues:
2012-01-20 06:17:23 +01:00
* Documentation is incomplete.
2012-01-18 23:46:52 +01:00
2012-01-20 07:53:55 +01:00
* Performance is below intended target.
2012-01-18 23:46:52 +01:00
2012-01-20 06:17:23 +01:00
* Standard library APIs are subject to extensive change, reorganization.
2012-01-18 23:46:52 +01:00
2012-01-20 06:17:23 +01:00
* Language-level versioning is not yet operational - future code will
break unexpectedly.