-
Argument splatting (
x...
) can now be used in calls to thenew
pseudo-function in constructors (#30577). -
Objects created by calling
skipmissing
on an array can now be indexed using indices from the parent at non-missing positions. This allows functions such asfindall
,findfirst
,argmin
/argmax
andfindmin
/findmax
to work with these objects, returning the index of matching non-missing elements in the parent ([#31008]). -
inv(::Missing)
has now been added and returnsmissing
([#31451]). -
nextfloat(::BigFloat, n::Integer)
andprevfloat(::BigFloat, n::Integer)
methods have been added ([#31310]).
- The
Condition
type now has a thread-safe replacement, accessed asThreads.Condition
. With that addition, task scheduling primitives such asReentrantLock
are now thread-safe (#30061).
- Empty entries in
JULIA_DEPOT_PATH
are now expanded to default depot entries ([#31009]). Enum
now behaves like a scalar when used in broadcasting (#30670).
getipaddrs()
function returns all the IP addresses of the local machine, with IPv4 addresses sorting before IPv6 addresses ([#30349, #30604])getipaddr(addr_type)
andgetipaddrs(addr_type)
functions returns an IP address(es) of the desired type of the local machine ([#30604])- Added
Base.hasproperty
andBase.hasfield
(#28850). - One argument
!=(x)
,>(x)
,>=(x)
,<(x)
,<=(x)
has been added for currying, similar to the existing==(x)
andisequal(x)
methods (#30915).
- The
extrema
function now accepts a function argument in the same manner asminimum
andmaximum
(#30323). hasmethod
can now check for matching keyword argument names (#30712).startswith
andendswith
now accept aRegex
for the second argument (#29790).retry
supports arbitrary callable objects (#30382).filter
now supportsSkipMissing
-wrapped arrays ([#31235]).- A no-argument construct to
Ptr{T}
has been added which constructs a null pointer (#30919) strip
now accepts a function argument in the same manner aslstrip
andrstrip
([#31211])mktempdir
now accepts aprefix
keyword argument to customize the file name ([#31230], [#22922])nextfloat(::BigFloat)
andprevfloat(::BigFloat)
now returns a value with the same precision as their argument, which means that (in particular)nextfloat(prevfloat(x)) == x
whereas previously this could result in a completely different value with a different precision ([#31310])
- Added keyword arguments
rtol
,atol
topinv
andnullspace
(#29998). UniformScaling
instances are now callable such that e.g.I(3)
will produce aDiagonal
matrix (#30298).- Eigenvalues λ of general matrices are now sorted lexicographically by (Re λ, Im λ) (#21598).
one
for structured matrices (Diagonal
,Bidiagonal
,Tridiagonal
,Symtridiagonal
) now preserves structure and type. (#29777)diagm(v)
is now a shorthand fordiagm(0 => v)
. ([#31125]).
- performance improvements for sparse matrix-matrix multiplication (#30372).
- Sparse vector outer products are more performant and maintain sparsity in products of the
form
kron(u, v')
,u * v'
, andu .* v'
whereu
andv
are sparse vectors or column views. (#24980)
- Fixed
repr
such that it displaysDateTime
as it would be entered in Julia (#30200).
quantile
now accepts in all cases collections whoseeltype
is not a subtype ofNumber
([#30938]).
-
Since environment variables on Windows are case-insensitive,
ENV
now converts its keys to uppercase for display, iteration, and copying (#30593). -
Build system now prefers downloading prebuilt binary tarballs for most dependencies on supported systems, disable by setting
USE_BINARYBUILDER=0
atmake
time ([#31441]).