Skip to content

Commit

Permalink
reinsert links, but not inline this time
Browse files Browse the repository at this point in the history
  • Loading branch information
waldyrious committed Sep 25, 2013
1 parent b7c8906 commit a0aa786
Showing 1 changed file with 120 additions and 52 deletions.
172 changes: 120 additions & 52 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@ Julia v0.2.0 Release Notes
New language features
---------------------

* Keyword & optional function arguments (#485, #1817).
* Keyword & optional function arguments ([#485], [#1817]).

* Immutable types (#13).
* Immutable types ([#13]).

* Triple-quoted string literals (#70).
* Triple-quoted string literals ([#70]).

* New infix operator `in` (e.g. `x in S`), and corresponding function
`in(x,S)`, replacing `contains(S,x)` function (#2703).
`in(x,S)`, replacing `contains(S,x)` function ([#2703]).

* New variable bindings on each for loop and comprehension iteration (#1571).
* New variable bindings on each for loop and comprehension iteration ([#1571]).
For example, before this change:

julia> map(f->f(), { ()->i for i=1:3 })
Expand All @@ -30,65 +30,65 @@ New language features
2
3

* Explicit relative importing (#2375).
* Explicit relative importing ([#2375]).

* Methods can be added to functions in other modules using dot syntax,
as in `Foo.bar(x) = 0`.

* A semicolon is now allowed after an `import` or `using` statement (#4130).
* A semicolon is now allowed after an `import` or `using` statement ([#4130]).


New library functions
---------------------

* Sampling profiler (#2597).
* Sampling profiler ([#2597]).

* Functions for examining stages of the compiler's output:
`code_lowered`, `code_typed`, `code_llvm`, and `code_native`

* Multimedia I/O API (display, writemime, etcetera) (#3932).
* Multimedia I/O API (display, writemime, etcetera) ([#3932]).

* MPFR-based `BigFloat` (#2814), and many new `BigFloat` operations.
* MPFR-based `BigFloat` ([#2814]), and many new `BigFloat` operations.

* New half-precision IEEE floating-point type, `Float16` (#3467).
* New half-precision IEEE floating-point type, `Float16` ([#3467]).

* Support for setting floating-point rounding modes (#3149).
* Support for setting floating-point rounding modes ([#3149]).

* `methodswith` shows all methods with an argument of specific type.

* `mapslices` provides a general way to perform operations on slices of arrays
(#2204)
([#2204])

* `Collections.PriorityQueue` type and `Collections.heap` functions (#2920).
* `Collections.PriorityQueue` type and `Collections.heap` functions ([#2920]).

* `quadgk` 1d-integration routine (#3140).
* `quadgk` 1d-integration routine ([#3140]).

* `erfinv` and `erfcinv` functions (#2987).
* `erfinv` and `erfcinv` functions ([#2987]).

* `varm`, `stdm` (#2265)
* `varm`, `stdm` ([#2265])

* `logdet` (#3070)
* `logdet` ([#3070])

* names for C-compatible types: `Cchar`, `Clong`, etc. (#2370).
* names for C-compatible types: `Cchar`, `Clong`, etc. ([#2370]).

* `cglobal` to access global variables (#1815)
* `cglobal` to access global variables ([#1815])

* `unsafe_pointer_to_objref` (#2468) and `pointer_from_objref` (#2515)
* `unsafe_pointer_to_objref` ([#2468]) and `pointer_from_objref` ([#2515])

* `readandwrite` for external processes

* I/O functions `readbytes` and `readbytes!` (#3878).
* I/O functions `readbytes` and `readbytes!` ([#3878]).

* `flush_cstdio` function (#3949).
* `flush_cstdio` function ([#3949]).

* ClusterManager makes it possible to support different types of compute clusters
(#3649, #4014).
([#3649], [#4014]).

* `rmprocs` for removing processors from a parallel computing session.
The system can also tolerate to some extent processors that die unexpectedly
(#3050).
([#3050]).

* `interrupt` for interrupting worker processes (#3819).
* `interrupt` for interrupting worker processes ([#3819]).

* `timedwait` does a polled wait for an event till a specified timeout.

Expand All @@ -111,62 +111,62 @@ Library improvements
* Rewritten `Pkg` system for much greater robustness in case of failures,
versioned dependencies, and many other enhancements.

* Sort API updates (#3665).
* Sort API updates ([#3665]).

* `delete!(d::Dict, key)` has now been split
into separate `pop!` and `delete!` variants:
the former returns the deleted value and behaves like the old `delete!`,
and the latter returns `d`
and does not throw an exception if `key` was not found (#3439).
and does not throw an exception if `key` was not found ([#3439]).

* Linear-algebra factorization routines (`lu`, `chol`, etc.)
now return `Factorization` objects (and `lud`, `chold`, etc. are deprecated)
(#2212).
([#2212]).

* A number of improvements to sparse matrix capabilities
and sparse linear algebra.

* More linear algebra fixes and eigensolver hooks
for `SymTridiagonal`, `Tridiagonal` and `Bidiagonal` matrix types
(#2606, #2608, #2609, #2611, #2678, #2713, #2720, #2725)
([#2606], [#2608], [#2609], [#2611], [#2678], [#2713], [#2720], [#2725])

* Change `integer_valued`, `real_valued`, and so on
to `isinteger`, `isreal`, and so on,
and semantics of the later are now value-based rather than type-based,
unlike Matlab/Octave (#3071).
unlike Matlab/Octave ([#3071]).
`isbool` and `iscomplex` are eliminated
in favor of general `iseltype` function.

* Transitive comparison of floats with rationals (#3102).
* Transitive comparison of floats with rationals ([#3102]).

* Fast primality testing (da670c4).

* `sum` and `cumsum` now use pairwise summation for better accuracy (#4039).
* `sum` and `cumsum` now use pairwise summation for better accuracy ([#4039]).

* Dot operators (`.+`, `.*` etc.)
now broadcast singleton dimensions of array arguments.
This behavior can be applied to any function using `broadcast(f, ...)`.

* `combinations`, `permutations`, and `partitions`
now return iterators instead of a task,
and `integer_partitions` has been renamed to `partitions` (#3989, #4055).
and `integer_partitions` has been renamed to `partitions` ([#3989], [#4055]).

* `isreadable`/`iswritable` functions added for more IO types (#3872).
* `isreadable`/`iswritable` functions added for more IO types ([#3872]).

* Much faster and improved `readdlm` and `writedlm` (#3350, #3468, #3483).
* Much faster and improved `readdlm` and `writedlm` ([#3350], [#3468], [#3483]).

* Faster `matchall` (#3719), and a number of string and regex improvements.
* Faster `matchall` ([#3719]), and a number of string and regex improvements.

* Documentation for writing packages (#2714, #2769, #2791)
and linear algebra (#2807)
* Documentation for writing packages ([#2714], [#2769], [#2791])
and linear algebra ([#2807])

* Support optional RTLD flags in `dlopen` (#2380)
* Support optional RTLD flags in `dlopen` ([#2380])

* Options in `pmap` for retrying or ignoring failed tasks.
Also `pmap` now works with any iterable.

* New `sinpi(x)` and `cospi(x)` functions
to compute sine and cosine of `pi*x` more accurately (#4112).
to compute sine and cosine of `pi*x` more accurately ([#4112]).

Deprecated or removed
---------------------
Expand All @@ -175,13 +175,13 @@ Deprecated or removed
and `Complex128` and so on are now aliases to the new `Complex` type.

* `!` was added to the name of many mutating functions,
e.g., `push` was renamed `push!` (#907).
e.g., `push` was renamed `push!` ([#907]).

* `ref` renamed to `getindex`, and `assign` to `setindex!` (#1484).
* `ref` renamed to `getindex`, and `assign` to `setindex!` ([#1484]).

* `writeable` renamed to `writable` (#3874).
* `writeable` renamed to `writable` ([#3874]).

* `logb` and `ilogb` renamed to `exponent` (#2516).
* `logb` and `ilogb` renamed to `exponent` ([#2516]).

* `quote_string` renamed to `repr`.

Expand All @@ -190,13 +190,13 @@ Deprecated or removed

* `each_line, `each_match`, `begins_with`, `ends_with`, `parse_float`,
`parse_int`, and `seek_end` replaced by: `eachline`, `eachmatch`, and so on
(`_` was removed) (#1539).
(`_` was removed) ([#1539]).

* `parse_bin(s)` replaced by `parseint(s,2)`;
`parse_oct(s)` replaced by `parseint(s,8)`;
`parse_hex(s)` replaced by `parseint(s,16)`.

* `findn_nzs` replaced by `findnz` (#1539).
* `findn_nzs` replaced by `findnz` ([#1539]).

* `DivideByZeroError` replaced by `DivideError`.

Expand All @@ -208,19 +208,19 @@ Deprecated or removed

* `has` replaced by `contains` for sets and by `haskey` for dictionaries.

* `diagmm` and `diagmm!` replaced by `scale` and `scale!` (#2916).
* `diagmm` and `diagmm!` replaced by `scale` and `scale!` ([#2916]).

* `unsafe_ref` and `unsafe_assign`
replaced by `unsafe_load` and `unsafe_store!`.

* `add_each!` and `del_each!` replaced by `union!` and `setdiff!`

* `isdenormal` renamed to `issubnormal` (#3105).
* `isdenormal` renamed to `issubnormal` ([#3105]).

* `expr` replaced by direct call to `Expr` constructor.

* `|`, `&`, `$`, `-`, and `~` for sets replaced by
`union`, `intersect`, `symdiff`, `setdiff`, and `complement` (#3272).
`union`, `intersect`, `symdiff`, `setdiff`, and `complement` ([#3272]).

* `square` function removed.

Expand All @@ -233,17 +233,85 @@ Deprecated or removed
* `start_timer` now expects arguments in units of seconds, not milliseconds.

* Shell redirection operators `|`, `>`, and `<`
were eliminated in favor of a new operator `|>` (#3523).
were eliminated in favor of a new operator `|>` ([#3523]).

* `amap` is deprecated in favor of new `mapslices` functionality.

Miscellaneous changes
--------------------------------

* `julia-release-*` executables renamed to `julia-*`,
and `libjulia-release` renamed to `libjulia` (#4177).
and `libjulia-release` renamed to `libjulia` ([#4177]).

Bugfixes and performance updates
--------------------------------

Too numerous to mention.

[#13]: https://github.com/JuliaLang/julia/issues/13
[#70]: https://github.com/JuliaLang/julia/issues/70
[#485]: https://github.com/JuliaLang/julia/issues/485
[#907]: https://github.com/JuliaLang/julia/issues/907
[#1484]: https://github.com/JuliaLang/julia/issues/1484
[#1539]: https://github.com/JuliaLang/julia/issues/1539
[#1539]: https://github.com/JuliaLang/julia/issues/1539
[#1571]: https://github.com/JuliaLang/julia/issues/1571
[#1815]: https://github.com/JuliaLang/julia/issues/1815
[#1817]: https://github.com/JuliaLang/julia/issues/1817
[#2204]: https://github.com/JuliaLang/julia/issues/2204
[#2212]: https://github.com/JuliaLang/julia/issues/2212
[#2265]: https://github.com/JuliaLang/julia/issues/2265
[#2370]: https://github.com/JuliaLang/julia/issues/2370
[#2375]: https://github.com/JuliaLang/julia/issues/2375
[#2380]: https://github.com/JuliaLang/julia/issues/2380
[#2468]: https://github.com/JuliaLang/julia/issues/2468
[#2515]: https://github.com/JuliaLang/julia/issues/2515
[#2516]: https://github.com/JuliaLang/julia/issues/2516
[#2597]: https://github.com/JuliaLang/julia/issues/2597
[#2606]: https://github.com/JuliaLang/julia/issues/2606
[#2608]: https://github.com/JuliaLang/julia/issues/2608
[#2609]: https://github.com/JuliaLang/julia/issues/2609
[#2611]: https://github.com/JuliaLang/julia/issues/2611
[#2678]: https://github.com/JuliaLang/julia/issues/2678
[#2703]: https://github.com/JuliaLang/julia/issues/2703
[#2713]: https://github.com/JuliaLang/julia/issues/2713
[#2714]: https://github.com/JuliaLang/julia/issues/2714
[#2720]: https://github.com/JuliaLang/julia/issues/2720
[#2725]: https://github.com/JuliaLang/julia/issues/2725
[#2769]: https://github.com/JuliaLang/julia/issues/2769
[#2791]: https://github.com/JuliaLang/julia/issues/2791
[#2807]: https://github.com/JuliaLang/julia/issues/2807
[#2814]: https://github.com/JuliaLang/julia/issues/2814
[#2916]: https://github.com/JuliaLang/julia/issues/2916
[#2920]: https://github.com/JuliaLang/julia/issues/2920
[#2987]: https://github.com/JuliaLang/julia/issues/2987
[#3050]: https://github.com/JuliaLang/julia/issues/3050
[#3070]: https://github.com/JuliaLang/julia/issues/3070
[#3071]: https://github.com/JuliaLang/julia/issues/3071
[#3102]: https://github.com/JuliaLang/julia/issues/3102
[#3105]: https://github.com/JuliaLang/julia/issues/3105
[#3140]: https://github.com/JuliaLang/julia/issues/3140
[#3149]: https://github.com/JuliaLang/julia/issues/3149
[#3272]: https://github.com/JuliaLang/julia/issues/3272
[#3350]: https://github.com/JuliaLang/julia/issues/3350
[#3439]: https://github.com/JuliaLang/julia/issues/3439
[#3467]: https://github.com/JuliaLang/julia/issues/3467
[#3468]: https://github.com/JuliaLang/julia/issues/3468
[#3483]: https://github.com/JuliaLang/julia/issues/3483
[#3523]: https://github.com/JuliaLang/julia/issues/3523
[#3649]: https://github.com/JuliaLang/julia/issues/3649
[#3665]: https://github.com/JuliaLang/julia/issues/3665
[#3719]: https://github.com/JuliaLang/julia/issues/3719
[#3819]: https://github.com/JuliaLang/julia/issues/3819
[#3872]: https://github.com/JuliaLang/julia/issues/3872
[#3874]: https://github.com/JuliaLang/julia/issues/3874
[#3878]: https://github.com/JuliaLang/julia/issues/3878
[#3932]: https://github.com/JuliaLang/julia/issues/3932
[#3949]: https://github.com/JuliaLang/julia/issues/3949
[#3989]: https://github.com/JuliaLang/julia/issues/3989
[#4014]: https://github.com/JuliaLang/julia/issues/4014
[#4039]: https://github.com/JuliaLang/julia/issues/4039
[#4055]: https://github.com/JuliaLang/julia/issues/4055
[#4112]: https://github.com/JuliaLang/julia/issues/4112
[#4130]: https://github.com/JuliaLang/julia/issues/4130
[#4177]: https://github.com/JuliaLang/julia/issues/4177

0 comments on commit a0aa786

Please sign in to comment.