- Support for Unicode 12.1.0 ([#32002]).
- Methods can now be added to an abstract type ([#31916]).
- All system-level I/O operations (e.g. files and sockets) are now thread-safe.
This does not include subtypes of
IO
that are entirely in-memory, such asIOBuffer
, although it specifically does includeBufferStream
. ([#32309], [#32174], [#31981], [#32421]).
findfirst
,findlast
,findnext
andfindprev
now accept a character as first argument to search for that character in a string passed as the second argument ([#31664]).- New
findall(pattern, string)
method wherepattern
is a string or regex ([#31834]). istaskfailed
is now documented and exported, like its siblingsistaskdone
andistaskstarted
([#32300]).
Regex
can now be multiplied (*
) and exponentiated (^
), like strings ([#23422]).Cmd
interpolation (`$(x::Cmd) a b c`
where) now propagatesx
's process flags (environment, flags, working directory, etc) ifx
is the first interpolant and errors otherwise ([#24353]).- Zero-dimensional arrays are now consistently preserved in the return values of mathematical
functions that operate on the array(s) as a whole (and are not explicitly broadcasted across their elements).
Previously, the functions
+
,-
,*
,/
,conj
,real
andimag
returned the unwrapped element when operating over zero-dimensional arrays ([#32122]). IPAddr
subtypes now behave like scalars when used in broadcasting ([#32133]).clamp
can now handle missing values ([#31066]).empty
now accepts aNamedTuple
([#32534])
dlopen()
can now be invoked indo
-block syntax, similar toopen()
.
- The BLAS submodule no longer exports
dot
, which conflicts with that in LinearAlgebra ([#31838]). diagm
andspdiagm
now accept optionalm,n
initial arguments to specify a size ([#31654]).Hessenberg
factorizationsH
now support efficient shifted solves(H+µI) \ b
and determinants, and use a specialized tridiagonal factorization for Hermitian matrices. There is also a newUpperHessenberg
matrix type ([#31853]).
SparseMatrixCSC(m,n,colptr,rowval,nzval)
perform consistency checks for arguments:colptr
must be properly populated and lengths ofcolptr
,rowval
, andnzval
must be compatible withm
,n
, andeltype(colptr)
.sparse(I, J, V, m, n)
verifies lengths ofI
,J
,V
are equal and compatible witheltype(I)
andm
,n
.
DateTime
andTime
formatting/parsing now supports 12-hour clocks with AM/PM viaI
andp
codes, similar tostrftime
([#32308]).- Fixed
repr
such that it displaysTime
as it would be entered in Julia ([#32103]).
getipaddrs
returns IP addresses in the order provided by libuv ([#32260]).getipaddr
prefers to return the firstIPv4
interface address provided by libuv ([#32260]).
mean
now accepts both a function argument and adims
keyword ([#31576]).
- Added
InetAddr
constructor fromAbstractString
, representing IP address, andInteger
, representing port number ([#31459]).
foldr
andmapfoldr
now work on any iterator that supportsIterators.reverse
, not just arrays ([#31781]).
- The
ClangSA.jl
static analysis package has been imported, which makes use of the clang static analyzer to validate GC invariants in Julia's C code. The analysis may be run usingmake -C src analyzegc
.