-
Argument splatting (
x...) can now be used in calls to thenewpseudo-function in constructors (#30577). -
Objects created by calling
skipmissingon an array can now be indexed using indices from the parent at non-missing positions. This allows functions such asfindall,findfirst,argmin/argmaxandfindmin/findmaxto 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
Conditiontype now has a thread-safe replacement, accessed asThreads.Condition. With that addition, task scheduling primitives such asReentrantLockare now thread-safe (#30061).
- Empty entries in
JULIA_DEPOT_PATHare now expanded to default depot entries ([#31009]). Enumnow 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.haspropertyandBase.hasfield(#28850). - One argument
!=(x),>(x),>=(x),<(x),<=(x)has been added for currying, similar to the existing==(x)andisequal(x)methods (#30915).
- The
extremafunction now accepts a function argument in the same manner asminimumandmaximum(#30323). hasmethodcan now check for matching keyword argument names (#30712).startswithandendswithnow accept aRegexfor the second argument (#29790).retrysupports arbitrary callable objects (#30382).filternow supportsSkipMissing-wrapped arrays ([#31235]).- A no-argument construct to
Ptr{T}has been added which constructs a null pointer (#30919) stripnow accepts a function argument in the same manner aslstripandrstrip([#31211])mktempdirnow accepts aprefixkeyword 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)) == xwhereas previously this could result in a completely different value with a different precision ([#31310])
- Added keyword arguments
rtol,atoltopinvandnullspace(#29998). UniformScalinginstances are now callable such that e.g.I(3)will produce aDiagonalmatrix (#30298).- Eigenvalues λ of general matrices are now sorted lexicographically by (Re λ, Im λ) (#21598).
onefor 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'whereuandvare sparse vectors or column views. (#24980)
- Fixed
reprsuch that it displaysDateTimeas it would be entered in Julia (#30200).
quantilenow accepts in all cases collections whoseeltypeis not a subtype ofNumber([#30938]).
-
Since environment variables on Windows are case-insensitive,
ENVnow 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=0atmaketime ([#31441]).