- An exception stack is maintained on each task to make exception handling more robust and enable root cause analysis using
catch_stack
(#28878).
- Parser inputs ending with a comma are now consistently treated as incomplete. Previously they were sometimes parsed as tuples, depending on whitespace ([#28506]).
splitpath(p::String)
function, which is the opposite ofjoinpath(parts...)
: it splits a filepath into its components (#28156).isnothing(::Any)
function, to check whether something is aNothing
, returns aBool
([#29679]).
CartesianIndices
can now be constructed from twoCartesianIndex
esI
andJ
withI:J
(#29440).copy!
support for arrays, dicts, and sets has been moved to Base from the Future package ([#29173]).- Channels now convert inserted values (like containers) instead of requiring types to match ([#29092]).
range
can accept the stop value as a positional argument, e.g.range(1,10,step=2)
([#28708]).edit
can now be called on a module to edit the file that defines it ([#29636]).
one(i::CartesianIndex)
should be replaced withoneunit(i::CartesianIndex)
(#29442).