Julia

Latest version: v0.6.2

Safety actively analyzes 629564 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 9 of 27

1.3

========================

New language features
---------------------

* Support for Unicode 12.1.0 ([32002]).
* Methods can now be added to an abstract type ([31916]).
* Support for unicode bold digits and double-struck digits 0 through 9 as valid identifiers ([32838]).
* Added the syntax `var"str"` for printing and parsing non-standard variable names ([32408]).

Language changes
----------------


Multi-threading changes
-----------------------

* New experimental `Threads.spawn` macro that runs a task on any available thread ([32600]).
* 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 as `IOBuffer`,
although it specifically does include `BufferStream`.
([32309], [32174], [31981], [32421]).
* The global random number generator (`GLOBAL_RNG`) is now thread-safe (and thread-local) ([32407]).
* New `Channel(f::Function, spawn=true)` keyword argument to schedule the created Task on
any available thread, matching the behavior of `Threads.spawn` ([32872]).
* Simplified the `Channel` constructor, which is now easier to read and more idiomatic julia.
Use of the keyword arguments `csize` and `ctype` is now discouraged ([30855], [32818]).

Build system changes
--------------------


New library functions
---------------------

* `findfirst`, `findlast`, `findnext` and `findprev` 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 where `pattern` is a string or regex ([31834]).
* `count(pattern, string)` gives the number of things `findall` would match ([32849]).
* `istaskfailed` is now documented and exported, like its siblings `istaskdone` and `istaskstarted` ([32300]).
* `RefArray` and `RefValue` objects now accept index `CartesianIndex()` in `getindex` and `setindex!` ([32653])
* Added `sincosd(x)` to simultaneously compute the sine and cosine of `x`, where `x` is in degrees ([30134]).
* The function `nonmissingtype`, which removes `Missing` from type unions, is now exported ([31562]).

Standard library changes
------------------------

* `Pkg` won't clobber pre-compilation files as often when switching environments ([32651])
* `Pkg` can now download and install binary artifacts through the `Pkg.Artifacts`
submodule and supporting functions. ([32918])
* When `wait` (or `sync`, or `fetch`) is called on a failing `Task`, the exception is propagated as a
`TaskFailedException` wrapping the task.
This makes it possible to see the location of the original failure inside the task (as well as the
location of the `wait` call, as before) ([32814]).
* `Regex` can now be multiplied (`*`) and exponentiated (`^`), like strings ([23422]).
* `Cmd` interpolation ( `$(x::Cmd) a b c` where) now propagates `x`'s process flags
(environment, flags, working directory, etc) if `x` 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` and `imag` returned the unwrapped element
when operating over zero-dimensional arrays ([32122]).
* `IPAddr` subtypes now behave like scalars when used in broadcasting ([32133]).
* `Pair` is now treated as a scalar for broadcasting ([32209]).
* `clamp` can now handle missing values ([31066]).
* `empty` now accepts a `NamedTuple` ([32534]).
* `mod` now accepts a unit range as the second argument to easily perform offset modular arithmetic to ensure the result is inside the range ([32628]).
* `nothing` can now be `print`ed, and interpolated into strings etc. as the string `"nothing"`. It is still not permitted to be interpolated into Cmds (i.e. ``echo `$(nothing)` `` will still error without running anything.) ([32148])
* When `open` is called with a function, command, and keyword argument (e.g. open(`ls`, read=true) do f ...)
it now correctly throws a `ProcessFailedException` like other similar calls ([32193]).
* `mktemp` and `mktempdir` now try, by default, to remove temporary paths they create before the process exits ([32851]).
* Added argument `keep` to `unescape_string` ([27125]).

Libdl

* `dlopen()` can now be invoked in `do`-block syntax, similar to `open()`.

LinearAlgebra

* The BLAS submodule no longer exports `dot`, which conflicts with that in LinearAlgebra ([31838]).
* `diagm` and `spdiagm` now accept optional `m,n` initial arguments to specify a size ([31654]).
* `Hessenberg` factorizations `H` now support efficient shifted solves `(H+µI) \ b` and determinants, and use a specialized tridiagonal factorization for Hermitian matrices. There is also a new `UpperHessenberg` matrix type ([31853]).
* Added keyword argument `alg` to `svd` and `svd!` that allows one to switch between different SVD algorithms ([31057]).
* Five-argument `mul!(C, A, B, α, β)` now implements inplace multiplication fused with addition _C = A B α + C β_ ([23919]).

SparseArrays

* `SparseMatrixCSC(m,n,colptr,rowval,nzval)` perform consistency checks for arguments:
`colptr` must be properly populated and lengths of `colptr`, `rowval`, and `nzval`
must be compatible with `m`, `n`, and `eltype(colptr)`.
* `sparse(I, J, V, m, n)` verifies lengths of `I`, `J`, `V` are equal and compatible with
`eltype(I)` and `m`, `n`.

Dates

* `DateTime` and `Time` formatting/parsing now supports 12-hour clocks with AM/PM via `I` and `p` codes, similar to `strftime` ([32308]).
* Fixed `repr` such that it displays `Time` as it would be entered in Julia ([32103]).

Statistics

* `mean` now accepts both a function argument and a `dims` keyword ([31576]).

Sockets

* `Sockets.recvfrom` now returns both host and port as an InetAddr ([32729]).
* Added `InetAddr` constructor from `AbstractString`, representing IP address, and `Integer`,
representing port number ([31459]).

Miscellaneous

* `foldr` and `mapfoldr` now work on any iterator that supports `Iterators.reverse`, not just arrays ([31781]).

Deprecated or removed
---------------------

* `spawn expr` from the `Distributed` standard library should be replaced with `spawnat :any expr` ([32600]).
* `Threads.Mutex` and `Threads.RecursiveSpinLock` have been removed; use `ReentrantLock` (preferred) or
`Threads.SpinLock` instead ([32875]).

External dependencies
---------------------

Tooling Improvements
---------------------

* 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 using `make -C src analyzegc`.

<!--- generated by NEWS-update.jl: -->
[23422]: https://github.com/JuliaLang/julia/issues/23422
[23919]: https://github.com/JuliaLang/julia/issues/23919
[24353]: https://github.com/JuliaLang/julia/issues/24353
[27125]: https://github.com/JuliaLang/julia/issues/27125
[30134]: https://github.com/JuliaLang/julia/issues/30134
[30855]: https://github.com/JuliaLang/julia/issues/30855
[31057]: https://github.com/JuliaLang/julia/issues/31057
[31066]: https://github.com/JuliaLang/julia/issues/31066
[31459]: https://github.com/JuliaLang/julia/issues/31459
[31562]: https://github.com/JuliaLang/julia/issues/31562
[31576]: https://github.com/JuliaLang/julia/issues/31576
[31654]: https://github.com/JuliaLang/julia/issues/31654
[31664]: https://github.com/JuliaLang/julia/issues/31664
[31781]: https://github.com/JuliaLang/julia/issues/31781
[31834]: https://github.com/JuliaLang/julia/issues/31834
[31838]: https://github.com/JuliaLang/julia/issues/31838
[31853]: https://github.com/JuliaLang/julia/issues/31853
[31916]: https://github.com/JuliaLang/julia/issues/31916
[31981]: https://github.com/JuliaLang/julia/issues/31981
[32002]: https://github.com/JuliaLang/julia/issues/32002
[32103]: https://github.com/JuliaLang/julia/issues/32103
[32122]: https://github.com/JuliaLang/julia/issues/32122
[32133]: https://github.com/JuliaLang/julia/issues/32133
[32148]: https://github.com/JuliaLang/julia/issues/32148
[32174]: https://github.com/JuliaLang/julia/issues/32174
[32193]: https://github.com/JuliaLang/julia/issues/32193
[32209]: https://github.com/JuliaLang/julia/issues/32209
[32300]: https://github.com/JuliaLang/julia/issues/32300
[32308]: https://github.com/JuliaLang/julia/issues/32308
[32309]: https://github.com/JuliaLang/julia/issues/32309
[32407]: https://github.com/JuliaLang/julia/issues/32407
[32408]: https://github.com/JuliaLang/julia/issues/32408
[32421]: https://github.com/JuliaLang/julia/issues/32421
[32534]: https://github.com/JuliaLang/julia/issues/32534
[32600]: https://github.com/JuliaLang/julia/issues/32600
[32628]: https://github.com/JuliaLang/julia/issues/32628
[32653]: https://github.com/JuliaLang/julia/issues/32653
[32729]: https://github.com/JuliaLang/julia/issues/32729
[32814]: https://github.com/JuliaLang/julia/issues/32814
[32818]: https://github.com/JuliaLang/julia/issues/32818
[32838]: https://github.com/JuliaLang/julia/issues/32838
[32849]: https://github.com/JuliaLang/julia/issues/32849
[32851]: https://github.com/JuliaLang/julia/issues/32851
[32872]: https://github.com/JuliaLang/julia/issues/32872
[32875]: https://github.com/JuliaLang/julia/issues/32875

1.3.0

1.2.1

1.2

========================

New language features
---------------------

* Argument splatting (`x...`) can now be used in calls to the `new` pseudo-function in
constructors ([30577]).
* Support for Unicode 12.0.0 ([31561]).
* Added `⋆` (`\star`) as unary operator ([31604]).

Language changes
----------------

* Empty entries in `JULIA_DEPOT_PATH` are now expanded to default depot entries ([31009]).

Multi-threading changes
-----------------------

* The `Condition` type now has a thread-safe replacement, accessed as `Threads.Condition`.
With that addition, task scheduling primitives such as `ReentrantLock` are now thread-safe ([30061]).
* It is possible to schedule and switch Tasks during `threads` loops, and perform limited I/O ([31438]).

Build system changes
--------------------

* The build system now prefers downloading prebuilt binary tarballs for most dependencies on
supported systems, disable by setting `USE_BINARYBUILDER=0` at `make` time ([31441]).

New library functions
---------------------

* `getipaddrs()` function returns all the IP addresses of the local machine, with IPv4 addresses sorting before IPv6 addresses ([30349, 30604]).
* `getipaddr(addr_type)` and `getipaddrs(addr_type)` functions returns an IP address(es) of the desired type of the local machine ([30604]).
* Added `Base.hasproperty` and `Base.hasfield` ([28850]).
* One argument `!=(x)`, `>(x)`, `>=(x)`, `<(x)`, `<=(x)` have been added, returning partially-applied
versions of the functions, similar to the existing `==(x)` and `isequal(x)` methods ([30915]).
* The new `map!(f, values(::AbstractDict))` method allows to modify in-place values of a dictionary ([31223]).

Standard library changes
------------------------

* `Enum` now behaves like a scalar when used in broadcasting ([30670]).
* If a `pipeline` is specified with `append=true` set, but no redirection, an `ArgumentError`
is thrown, rather than a `ErrorException` ([27900]).
* Functions that invoke commands (e.g. `run(::Cmd)`) now throw a `ProcessFailedException`
rather than an `ErrorException`, if those commands exit with non-zero exit code ([27900]).
* The `extrema` function now accepts a function argument in the same manner as `minimum` and
`maximum` ([30323]).
* `hasmethod` can now check for matching keyword argument names ([30712]).
* `startswith` and `endswith` now accept a `Regex` for the second argument ([29790]).
* `retry` supports arbitrary callable objects ([30382]).
* A no-argument constructor for `Ptr{T}` has been added which constructs a null pointer ([30919]).
* `strip` now accepts a function argument in the same manner as `lstrip` and `rstrip` ([31211]).
* `mktempdir` now accepts a `prefix` keyword argument to customize the file name ([31230], [22922]).
* `keytype` and `valtype` now work on `AbstractArray`, and return the `eltype` of `keys(...)` and
`values(...)` respectively ([27749]).
* `nextfloat(::BigFloat)` and `prevfloat(::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]).
* `mapreduce` now accepts multiple iterators, similar to `map` ([31532]).
* `filter` now supports `SkipMissing`-wrapped arrays ([31235]).
* 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 as
`findall`, `findfirst`, `argmin`/`argmax` and `findmin`/`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 returns `missing` ([31451]).
* `nextfloat(::BigFloat, n::Integer)` and `prevfloat(::BigFloat, n::Integer)` methods
have been added ([31310]).

LinearAlgebra
* Added keyword arguments `rtol`, `atol` to `pinv` and `nullspace` ([29998]).
* `UniformScaling` instances are now callable such that e.g. `I(3)` will produce a `Diagonal` 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 for `diagm(0 => v)` ([31125]).

SparseArrays
* 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'`, and `u .* v'` where `u` and `v` are sparse vectors or column
views ([24980]).
* The `sprand` function is now 2 to 5 times faster ([30494]). As a consequence of this change, the random stream of matrices produced with `sprand` and `sprandn` has changed.

Sockets

* `getipaddrs` returns IP addresses in the order provided by libuv ([32260]).
* `getipaddr` prefers to return the first `IPv4` interface address provided by libuv ([32260]).

Dates
* Fixed `repr` such that it displays `DateTime` as it would be entered in Julia ([30200]).

Statistics
* `quantile` now accepts in all cases collections whose `eltype` is not a subtype of `Number` ([30938]).

Miscellaneous
* Since environment variables on Windows are case-insensitive, `ENV` now converts its keys
to uppercase for display, iteration, and copying ([30593]).

External dependencies
---------------------

* libgit2 has been updated to v0.27.7 ([30584]).
* OpenBLAS has been updated to v0.3.5 ([30583]).
* MbedTLS has been updated to v2.16.0 ([30618]).
* libunwind has been updated to v1.3.1 ([30724]).

<!--- generated by NEWS-update.jl: -->
[21598]: https://github.com/JuliaLang/julia/issues/21598
[22922]: https://github.com/JuliaLang/julia/issues/22922
[24980]: https://github.com/JuliaLang/julia/issues/24980
[27749]: https://github.com/JuliaLang/julia/issues/27749
[27900]: https://github.com/JuliaLang/julia/issues/27900
[28850]: https://github.com/JuliaLang/julia/issues/28850
[29777]: https://github.com/JuliaLang/julia/issues/29777
[29790]: https://github.com/JuliaLang/julia/issues/29790
[29998]: https://github.com/JuliaLang/julia/issues/29998
[30061]: https://github.com/JuliaLang/julia/issues/30061
[30200]: https://github.com/JuliaLang/julia/issues/30200
[30298]: https://github.com/JuliaLang/julia/issues/30298
[30323]: https://github.com/JuliaLang/julia/issues/30323
[30372]: https://github.com/JuliaLang/julia/issues/30372
[30382]: https://github.com/JuliaLang/julia/issues/30382
[30494]: https://github.com/JuliaLang/julia/issues/30494
[30577]: https://github.com/JuliaLang/julia/issues/30577
[30583]: https://github.com/JuliaLang/julia/issues/30583
[30584]: https://github.com/JuliaLang/julia/issues/30584
[30593]: https://github.com/JuliaLang/julia/issues/30593
[30604]: https://github.com/JuliaLang/julia/issues/30604
[30618]: https://github.com/JuliaLang/julia/issues/30618
[30670]: https://github.com/JuliaLang/julia/issues/30670
[30712]: https://github.com/JuliaLang/julia/issues/30712
[30724]: https://github.com/JuliaLang/julia/issues/30724
[30915]: https://github.com/JuliaLang/julia/issues/30915
[30919]: https://github.com/JuliaLang/julia/issues/30919
[30938]: https://github.com/JuliaLang/julia/issues/30938
[31008]: https://github.com/JuliaLang/julia/issues/31008
[31009]: https://github.com/JuliaLang/julia/issues/31009
[31125]: https://github.com/JuliaLang/julia/issues/31125
[31211]: https://github.com/JuliaLang/julia/issues/31211
[31230]: https://github.com/JuliaLang/julia/issues/31230
[31235]: https://github.com/JuliaLang/julia/issues/31235
[31310]: https://github.com/JuliaLang/julia/issues/31310
[31438]: https://github.com/JuliaLang/julia/issues/31438
[31441]: https://github.com/JuliaLang/julia/issues/31441
[31451]: https://github.com/JuliaLang/julia/issues/31451
[31532]: https://github.com/JuliaLang/julia/issues/31532
[31561]: https://github.com/JuliaLang/julia/issues/31561
[31604]: https://github.com/JuliaLang/julia/issues/31604
[32260]: https://github.com/JuliaLang/julia/issues/32260

1.2.0

1.1

========================

New language features
---------------------

* An *exception stack* is maintained on each task to make exception handling
more robust and enable root cause analysis. The stack may be accessed using
the experimental function `Base.catch_stack` ([28878]).
* The experimental macro `Base.locals` returns a dictionary of current local variable names
and values ([29733]).
* Binary `~` can now be dotted, as in `x .~ y` ([30341]).

Language changes
----------------

* Parser inputs ending with a comma are now consistently treated as incomplete.
Previously they were sometimes parsed as tuples, depending on whitespace ([28506]).
* Spaces were accidentally allowed in broadcast call syntax, e.g. `f. (x)`. They are now
disallowed, consistent with normal function call syntax ([29781]).
* Big integer literals and command syntax (backticks) are now parsed with the name of
the macro (`int128_str`, `uint128_str`, `big_str`, `cmd`) qualified to refer
to the `Core` module ([29968]).
* Using the same name for both a local variable and a static parameter is now an error instead
of a warning ([29429]).
* `findall(in(b), a)` now returns a `CartesianIndex` when `a` is a matrix or a higher-dimensional array,
for consistency with other `findall` methods. Use `LinearIndices(a)[findall(in(b), a)]` to get
the old behavior, or `CartesianIndices(a)[findall(in(b), a)]` to get the new behavior
on previous Julia versions ([30226]).
* `findmin(::BitArray)` and `findmax(::BitArray)` now return a `CartesianIndex` when `a` is a matrix
or a higher-dimensional array, for consistency with other array types.
Use `LinearIndices(a)[findmin(a)[2]]` to get the old behavior, or `CartesianIndices(a)[findmin(a)[2]]`
to get the new behavior on previous Julia versions ([30102]).
* Method signatures such as
`f(::Type{T}, ::T) where {T <: X}` and
`f(::Type{X}, ::Any)`
are now considered ambiguous. Previously a bug caused the first one to be considered more specific in
some cases ([30160]).

Command-line option changes
---------------------------

* When a script run in interactive mode (`-i`) throws an error, the REPL now starts after
the error is displayed. Previously the REPL only started if the script completed without
error ([21233]).

New library functions
---------------------

* `splitpath(p::String)` function, which is the opposite of `joinpath(parts...)`: it splits a filepath
into its components ([28156]).
* `isnothing(::Any)` predicate, to check whether the argument is `nothing`. ([29679]).
* `getpid(::Process)` method ([24064]).
* `eachrow`, `eachcol` and `eachslice` functions provide efficient iterators over slices of arrays ([29749]).
* `fieldtypes(T::Type)` which returns the declared types of the field in type T ([29600]).
* `uuid5` has been added to the `UUIDs` standard library ([28761]).
* Predicates `Sys.isfreebsd`, `Sys.isopenbsd`, `Sys.isnetbsd`, and `Sys.isdragonfly` for
detecting BSD systems have been added ([30249]).
* Internal `Base.disable_library_threading` that sets libraries to use one thread.
It executes function hooks that have been registered with
`Base.at_disable_library_threading` ([30004]).

Standard library changes
------------------------

* `CartesianIndices` can now be constructed from two `CartesianIndex`es `I` and `J` with `I:J` ([29440]).
* `CartesianIndices` support broadcasting arithmetic (+ and -) with a `CartesianIndex` ([29890]).
* `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]).
* `diff` now supports arrays of arbitrary dimensionality and can operate over any dimension ([29827]).
* The constructor `BigFloat(::BigFloat)` now respects the global precision setting and always
returns a `BigFloat` with precision equal to `precision(BigFloat)` ([29127]). The optional
`precision` argument to override the global setting is now a keyword instead of positional
argument ([29157]).
* The use of scientific notation when printing `BigFloat` values is now consistent with other floating point
types ([29211]).
* `Regex` now behaves like a scalar when used in broadcasting ([29913]).
* `Char` now behaves like a read-only 0-dimensional array ([29819]).
* `parse` now allows strings representing integer 0 and 1 for type `Bool` ([29980]).
* `Base.tail` now works on named tuples ([29595]).
* The process id is appended to malloc log files in order to track memory allocations of
multiple processes ([29969]).
* `Base.julia_cmd` now propagates the `--inline=(yes|no)` flag ([29858]).
* `Base.kwdef` can now be used for parametric structs, and for structs with supertypes ([29316]).
* `merge(::NamedTuple, ::NamedTuple...)` can now be used with more than 2 `NamedTuple`s ([29259]).
* New `ncodeunits(c::Char)` method as a fast equivalent to `ncodeunits(string(c))` ([29153]).
* New `sort!(::AbstractArray; dims)` method that can sort the array along the `dims` dimension ([28902]).
* `range` now accepts `stop` as a positional argument ([28708]).
* `get(A::AbstractArray, (), default)` now returns `A[]` instead of an empty array ([30270]).
* `parse(Bool, str)` is now supported ([29997]).
* `copyto!(::AbstractMatrix, ::UniformScaling)` now supports rectangular matrices ([28790]).
* `current_project()` now searches the parent directories of a Git repository for a `Project.toml` file.
This also affects the behavior of the `--project` command line option when using the default
`--project=.` ([29108]).
* The `spawn` API is now more flexible and supports taking IOBuffer directly as an I/O stream,
converting to a system pipe as needed ([30278]).

Dates
* New `DateTime(::Date, ::Time)` constructor ([29754]).
* `TimeZone` now behaves like a scalar when used in broadcasting ([30159]).

InteractiveUtils
* `edit` can now be called on a module to edit the file that defines it ([29636]).
* All compiler-reflection tools (i.e. the `code_` class of functions and macros) now print accurate
line number and inlining information in a common style, and take an optional parameter (debuginfo=:default)
to control the verbosity of the metadata shown ([29893]).

LinearAlgebra
* `isdiag` and `isposdef` for `Diagonal` and `UniformScaling` ([29638]).
* `mul!`, `rmul!` and `lmul!` methods for `UniformScaling` ([29506]).
* `Symmetric` and `Hermitian` matrices now preserve the wrapper when scaled with a number ([29469]).
* Exponentiation operator `^` now supports raising an `Irrational` to an `AbstractMatrix` power ([29782]).
* Added keyword arguments `rtol`, `atol` to `rank` ([29926]).

Random
* `randperm` and `randcycle` now use the type of their argument to determine the element type of
the returned array ([29670]).
* A new method `rand(::Tuple)` implements sampling from the values of a tuple ([25278]).
* `serialize` and `deserialize` now accept a filename argument, like `write` and `read` ([30151]).

SparseArrays
* `sprandn` now supports specifying the output element type ([30083]).

Statistics
* `mean` and `var` now handle more kinds of empty inputs ([29033]).

External dependencies
---------------------

* 7zip (bundled with Julia on Windows) has been upgraded from version 16.04 to 18.05 ([30035]).
* Busybox is no longer bundled with Julia on Windows ([30022]).
* OpenBLAS has been upgraded from 0.3.2 to 0.3.3 ([29845]).
* The source code for Pkg is no longer included in JuliaLang/julia. Pkg is instead
downloaded during the build process ([29615]).
* LLVM has been upgraded to 6.0.1 and support for LLVM < 6.0 has been dropped ([28745], [28696]).
* Pkg has been upgraded to version 1.1 ([30342]).

Deprecated or removed
---------------------

* `one(i::CartesianIndex)` should be replaced with `oneunit(i::CartesianIndex)` ([29442]).
* The internal array `Base.Grisu.DIGITS` is deprecated; new code should use `Base.Grisu.getbuf()`
to get an appropriate task-local buffer and pass it to `grisu()` instead ([29907]).
* The internal function `Base._default_type(T)` has been removed. Calls to it should be
replaced with just the argument `T` ([29739]).
* `peakflops` has been scheduled to move from `InteractiveUtils` to `LinearAlgebra`
but is already now available as `LinearAlgebra.peakflops` ([29978]).

<!--- generated by NEWS-update.jl: -->
[21233]: https://github.com/JuliaLang/julia/issues/21233
[24064]: https://github.com/JuliaLang/julia/issues/24064
[25278]: https://github.com/JuliaLang/julia/issues/25278
[28156]: https://github.com/JuliaLang/julia/issues/28156
[28506]: https://github.com/JuliaLang/julia/issues/28506
[28696]: https://github.com/JuliaLang/julia/issues/28696
[28708]: https://github.com/JuliaLang/julia/issues/28708
[28745]: https://github.com/JuliaLang/julia/issues/28745
[28761]: https://github.com/JuliaLang/julia/issues/28761
[28790]: https://github.com/JuliaLang/julia/issues/28790
[28878]: https://github.com/JuliaLang/julia/issues/28878
[28902]: https://github.com/JuliaLang/julia/issues/28902
[29033]: https://github.com/JuliaLang/julia/issues/29033
[29092]: https://github.com/JuliaLang/julia/issues/29092
[29108]: https://github.com/JuliaLang/julia/issues/29108
[29127]: https://github.com/JuliaLang/julia/issues/29127
[29153]: https://github.com/JuliaLang/julia/issues/29153
[29157]: https://github.com/JuliaLang/julia/issues/29157
[29173]: https://github.com/JuliaLang/julia/issues/29173
[29211]: https://github.com/JuliaLang/julia/issues/29211
[29259]: https://github.com/JuliaLang/julia/issues/29259
[29316]: https://github.com/JuliaLang/julia/issues/29316
[29429]: https://github.com/JuliaLang/julia/issues/29429
[29440]: https://github.com/JuliaLang/julia/issues/29440
[29442]: https://github.com/JuliaLang/julia/issues/29442
[29469]: https://github.com/JuliaLang/julia/issues/29469
[29506]: https://github.com/JuliaLang/julia/issues/29506
[29595]: https://github.com/JuliaLang/julia/issues/29595
[29600]: https://github.com/JuliaLang/julia/issues/29600
[29615]: https://github.com/JuliaLang/julia/issues/29615
[29636]: https://github.com/JuliaLang/julia/issues/29636
[29638]: https://github.com/JuliaLang/julia/issues/29638
[29670]: https://github.com/JuliaLang/julia/issues/29670
[29679]: https://github.com/JuliaLang/julia/issues/29679
[29733]: https://github.com/JuliaLang/julia/issues/29733
[29739]: https://github.com/JuliaLang/julia/issues/29739
[29749]: https://github.com/JuliaLang/julia/issues/29749
[29754]: https://github.com/JuliaLang/julia/issues/29754
[29781]: https://github.com/JuliaLang/julia/issues/29781
[29782]: https://github.com/JuliaLang/julia/issues/29782
[29819]: https://github.com/JuliaLang/julia/issues/29819
[29827]: https://github.com/JuliaLang/julia/issues/29827
[29845]: https://github.com/JuliaLang/julia/issues/29845
[29858]: https://github.com/JuliaLang/julia/issues/29858
[29890]: https://github.com/JuliaLang/julia/issues/29890
[29893]: https://github.com/JuliaLang/julia/issues/29893
[29907]: https://github.com/JuliaLang/julia/issues/29907
[29913]: https://github.com/JuliaLang/julia/issues/29913
[29926]: https://github.com/JuliaLang/julia/issues/29926
[29968]: https://github.com/JuliaLang/julia/issues/29968
[29969]: https://github.com/JuliaLang/julia/issues/29969
[29978]: https://github.com/JuliaLang/julia/issues/29978
[29980]: https://github.com/JuliaLang/julia/issues/29980
[29997]: https://github.com/JuliaLang/julia/issues/29997
[30004]: https://github.com/JuliaLang/julia/issues/30004
[30022]: https://github.com/JuliaLang/julia/issues/30022
[30035]: https://github.com/JuliaLang/julia/issues/30035
[30083]: https://github.com/JuliaLang/julia/issues/30083
[30102]: https://github.com/JuliaLang/julia/issues/30102
[30151]: https://github.com/JuliaLang/julia/issues/30151
[30159]: https://github.com/JuliaLang/julia/issues/30159
[30160]: https://github.com/JuliaLang/julia/issues/30160
[30226]: https://github.com/JuliaLang/julia/issues/30226
[30249]: https://github.com/JuliaLang/julia/issues/30249
[30270]: https://github.com/JuliaLang/julia/issues/30270
[30278]: https://github.com/JuliaLang/julia/issues/30278
[30341]: https://github.com/JuliaLang/julia/issues/30341
[30342]: https://github.com/JuliaLang/julia/issues/30342

Page 9 of 27

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.