Skip to content

Commit

Permalink
Update NEWS with tooling improvements. Remove DEBUGGER.md.
Browse files Browse the repository at this point in the history
[ci skip]
  • Loading branch information
ViralBShah committed Jul 25, 2016
1 parent c5721c2 commit 8f5f4ba
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 48 deletions.
6 changes: 0 additions & 6 deletions DEBUGGER.md

This file was deleted.

117 changes: 75 additions & 42 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
Julia v0.5.0 Release Notes
==========================

Language tooling improvements
-----------------------------

* The [Julia debugger](https://github.com/Keno/Gallium.jl) makes
its debut with this release. Install it with
`Pkg.add("Gallium")`, and the debugger
documentation](https://github.com/Keno/Gallium.jl#gallium) should
get you going. The [JuliaCon
talk](https://www.youtube.com/watch?v=e6-hcOHO0tc&list=PLP8iPy9hna6SQPwZUDtAM59-wPzCPyD_S&index=5)
on Gallium shows off various features of the debugger.

* The [Juno IDE](http://junolab.org) has matured significantly, and now
also includes support for plotting and debugging.

* [Cxx.jl](https://github.com/Keno/Cxx.jl) provides a convenient
FFI for calling C++ code from Julia.

New language features
---------------------

Expand Down Expand Up @@ -35,18 +52,35 @@ New language features
* Function return type syntax `function f()::T` has been added ([#1090]). Values returned
from a function with such a declaration will be converted to the specified type `T`.

* Experimental support for arrays with indexing starting at values
different from 1. The array types are expected to be defined in
packages, but now Julia provides an API for writing generic
algorithms for arbitrary indexing schemes ([#16260]).

* Many more operators now support `.` prefixes (e.g. `.≤`) ([#17393]). However,
users are discouraged from overloading these, since they are mainly parsed
in order to implement backwards compatibility with planned automatic
broadcasting of dot operators in Julia 0.6 ([#16285]). Explicitly qualified
operator names like `Base.≤` should now use `Base.:≤` (prefixed by `@compat`
if you need 0.4 compatibility via the `Compat` package).

Experimental language features
------------------------------

* Support for
[multi-threading](http://docs.julialang.org/en/latest/manual/parallel-computing/#multi-threading-experimental). Loops
with independent iterations can be easily parallelized with the
`Threads.@threads` macro.

* Support for arrays with indexing starting at values different from
1. The array types are expected to be defined in packages, but now
Julia provides an API for writing generic algorithms for arbitrary
indexing schemes ([#16260]).

New architectures
-----------------

This release greatly improves support for ARM, and introduces support for Power.

* [ARM](https://github.com/JuliaLang/julia/issues?utf8=%E2%9C%93&q=label%3Aarm) ([#14194], [#14519], [#16645], [#16621])

* [Power](https://github.com/JuliaLang/julia/issues?utf8=%E2%9C%93&q=label%3Apower) ([#16455], [#16404])

Language changes
----------------

Expand Down Expand Up @@ -110,43 +144,6 @@ New architectures
* [Power](https://github.com/JuliaLang/julia/issues?utf8=%E2%9C%93&q=label%3Apower):
[#16455], [#16404]

Breaking changes
----------------

* The assignment operations `.+=`, `.*=` and so on now generate calls
to `broadcast!` on the left-hand side (or call to `view(a, ...)` on the left-hand side
if the latter is an indexing expression, (e.g. `a[...]`). This means that they will fail
if the left-hand side is immutable (or does not support `view`), and will otherwise
change the left-hand side in-place ([#17510], [#17546]).

* Method ambiguities no longer generate warnings when files are loaded,
nor do they dispatch to an arbitrarily-chosen method; instead, a call that
cannot be resolved to a single method results in a `MethodError` at run time,
rather than the previous definition-time warning. ([#6190])

* `pmap` keyword arguments `err_retry=true` and `err_stop=false` are deprecated.
Action to be taken on errors can be specified via the `on_error` keyword argument.
Retry is specified via `retry_n`, `retry_on` and `retry_max_delay` ([#15409], [#15975], [#16663]).

* `reshape` is now defined to always share data with the original array.
If a reshaped copy is needed, use `copy(reshape(a))` or `copy!` to a new array of
the desired shape ([#4211]).

* `mapslices` now re-uses temporary storage. Recipient functions that expect
input slices to be persistent should copy data to other storage ([#17266]).
All usages of `mapslices` should be carefully audited since this change can cause
silent, incorrect behavior, rather than failing noisily.

* Local variables and arguments are represented in lowered code as numbered `Slot`
objects instead of as symbols ([#15609]).

* The information that used to be in the `ast` field of the `LambdaStaticData` type
is now divided among the fields `code`, `slotnames`, `slottypes`, `slotflags`,
`gensymtypes`, `rettype`, `nargs`, and `isva` in the `LambdaInfo` type ([#15609]).

* Juxtaposition of numeric literals ending in `.` (e.g. `1.x`) is no longer
allowed ([#15731]).

Library improvements
--------------------

Expand Down Expand Up @@ -303,6 +300,42 @@ Library improvements
* A new function `chown()` changes the ownership of files. ([#15007])
Breaking changes
----------------
* The assignment operations `.+=`, `.*=` and so on now generate calls
to `broadcast!` on the left-hand side (or call to `view(a, ...)` on the left-hand side
if the latter is an indexing expression, (e.g. `a[...]`). This means that they will fail
if the left-hand side is immutable (or does not support `view`), and will otherwise
change the left-hand side in-place ([#17510], [#17546]).
* Method ambiguities no longer generate warnings when files are loaded,
nor do they dispatch to an arbitrarily-chosen method; instead, a call that
cannot be resolved to a single method results in a `MethodError` at run time,
rather than the previous definition-time warning. ([#6190])
* `pmap` keyword arguments `err_retry=true` and `err_stop=false` are deprecated.
Action to be taken on errors can be specified via the `on_error` keyword argument.
Retry is specified via `retry_n`, `retry_on` and `retry_max_delay` ([#15409], [#15975], [#16663]).
* `reshape` is now defined to always share data with the original array.
If a reshaped copy is needed, use `copy(reshape(a))` or `copy!` to a new array of
the desired shape ([#4211]).
* `mapslices` now re-uses temporary storage. Recipient functions that expect
input slices to be persistent should copy data to other storage ([#17266]).
All usages of `mapslices` should be carefully audited since this change can cause
silent, incorrect behavior, rather than failing noisily.
* Local variables and arguments are represented in lowered code as numbered `Slot`
objects instead of as symbols ([#15609]).
* The information that used to be in the `ast` field of the `LambdaStaticData` type
is now divided among the fields `code`, `slotnames`, `slottypes`, `slotflags`,
`gensymtypes`, `rettype`, `nargs`, and `isva` in the `LambdaInfo` type ([#15609]).
* Juxtaposition of numeric literals ending in `.` (e.g. `1.x`) is no longer
allowed ([#15731]).
Deprecated or removed
---------------------
Expand Down

0 comments on commit 8f5f4ba

Please sign in to comment.