-
Keyword & optional function arguments (#485, #1817).
-
Immutable types (#13).
-
Triple-quoted string literals (#70).
-
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 }) 3-element Any Array: 3 3 3
and after:
julia> map(f->f(), { ()->i for i=1:3 }) 3-element Any Array: 1 2 3
-
Explicit relative importing (#2375)
-
Sampling profiler (#2597).
-
Functions for examining stages of the compiler's output:
code_lowered
,code_typed
,code_llvm
, andcode_native
-
Multimedia I/O API (display, writemime, etcetera) (#3932).
-
MPFR-based
BigFloat
(#2814), and many newBigFloat
operations. -
New half-precision IEEE floating-point type,
Float16
(#3467). -
methodswith
shows all methods with an argument of specific type. -
mapslices
provides a general way to perform operations on slices of arrays (#2204) -
Collections.PriorityQueue
type andCollections.heap
functions (#2920). -
quadgk
1d-integration routine (#3140). -
erfinv
anderfcinv
functions (#2987). -
varm
,stdm
(#2265) -
logdet
(#3070) -
names for C-compatible types:
Cchar
,Clong
, etc (#2370). -
cglobal
to access global variables (#1815) -
unsafe_pointer_to_objref
(#2468) andpointer_from_objref
(#2515) -
readandwrite
for external processes -
I/O functions
readbytes
andreadbytes!
(#3878). -
flush_cstdio
function (#3949). -
ClusterManager makes it possible to support different types of compute clusters (#3649, #4014).
-
rmprocs
for removing processors from a parallel computing session. The system can also tolerate to some extent processors that die unexpectedly (#3050). -
interrupt
for interrupting worker processes (#3819). -
timedwait
does a polled wait for an event till a specified timeout. -
Condition
type withwait
andnotify
functions for synchronizingTask
s -
versioninfo
provides detailed version information
-
Sort API updates (#3665).
-
delete!(d::Dict, key)
has now been split into separatepop!
anddelete!
variants: the former returns the deleted value and behaves like the olddelete!
, and the latter returnsd
and does not throw an exception ifkey
was not found (#3439). -
Linear-algebra factorization routines (
lu
,chol
, etc.) now returnFactorization
objects (andlud
,chold
, etc. are deprecated) (#2212). -
A number of improvements to sparse matrix capabilities and sparse linear algebra.
-
More linear algebra fixes and eigensolver hooks for
SymTridiagonal
,Tridiagonal
andBidiagonal
matrix types (#2606, #2608, #2609, #2611, #2678, #2713, #2720, #2725) -
Change
integer_valued
,real_valued
, and so on toisinteger
,isreal
, and so on, and semantics of the later are now value-based rather than type-based, unlike Matlab/Octave (#3071).isbool
andiscomplex
are eliminated in favor of generaliseltype
function. -
Transitive comparison of floats with rationals (#3102).
-
Fast primality testing (da670c4).
-
sum
andcumsum
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 usingbroadcast(f, ...)
. -
combinations
,permutations
, andpartitions
now return iterators instead of a task. andinteger_partitions
has been renamed topartitions
(#3989 and #4055). -
isreadable
/iswritable
functions added for more IO types (#3872). -
Much faster and improved
readdlm
andwritedlm
(#3350, #3468, #3483). -
Faster
matchall
(#3719), and a number of string and regex improvements. -
Documentation for writing packages (#2714, 2769, #2791) and linear algebra (#2807)
-
Support optional RTLD flags in
dlopen
(#2380) -
Options in
pmap
for retrying or ignoring failed tasks. Alsopmap
now works with any iterable.
-
ComplexPair
was renamed toComplex
and madeimmutable
, andComplex128
and so on are now aliases to the newComplex
type. -
!
was added to the name of many mutating functions, e.g.,push
was renamedpush!
(#907). -
ref
renamed togetindex
, andassign
tosetindex!
(#1484). -
writeable
renamed towritable
(#3874). -
logb
andilogb
renamed toexponent
(#2516). -
quote_string
renamed torepr
. -
safe_char
,check_ascii
, andcheck_utf8
replaced byis_valid_char
,is_valid_ascii
, andis_valid_utf8
, respectively. -
each_line,
each_match,
begins_with,
ends_with,
parse_float,
parse_int, and
seek_endreplaced by:
eachline,
eachmatch, and so on (
_` was removed) (#1539). -
parse_bin(s)
replaced byparseint(s,2)
;parse_oct(s)
replaced byparseint(s,8)
;parse_hex(s)
replaced byparseint(s,16)
. -
findn_nzs
replaced byfindnz
(#1539). -
DivideByZeroError
replaced byDivideError
. -
addprocs_ssh
,addprocs_ssh_tunnel
, andaddprocs_local
replaced byaddprocs
(with keyword options). -
remote_call
,remote_call_fetch
, andremote_call_wait
replaced byremotecall
,remotecall_fetch
, andremotecall_wait
. -
has
replaced bycontains
for sets and byhaskey
for dictionaries. -
diagmm
anddiagmm!
replaced byscale
andscale!
(#2916). -
unsafe_ref
andunsafe_assign
replaced byunsafe_load
andunsafe_store!
. -
add_each!
anddel_each!
replaced byunion!
andsetdiff!
-
isdenormal
renamed toissubnormal
(#3105). -
expr
replaced by direct call toExpr
constructor. -
|
,&
,$
,-
, and~
for sets replaced byunion
,intersect
symdiff
,setdiff
, andcomplement
(#3272). -
square
function removed. -
pascal
function removed. -
add
andadd!
forSet
replaced bypush!
. -
Deprecated
ls
function in favor ofreaddir
or; ls
in the REPL. -
start_timer
now expects arguments in units of seconds, not milliseconds. -
Shell redirection operators
|
,>
, and<
were eliminated in favor of a new operator|>
(#3523). -
amap
is deprecated in favor of newmapslices
functionality.
Too numerous to mention.