Revision 586451d1d7defe4bf97f69ebdd58396b0552cc66 authored by Steven G. Johnson on 02 March 2021, 18:36:40 UTC, committed by GitHub on 02 March 2021, 18:36:40 UTC
Co-authored-by: Sebastian Stock <42280794+sostock@users.noreply.github.com>
1 parent d4672bd
NEWS.md
Julia v1.7 Release Notes
========================
New language features
---------------------
* `(; a, b) = x` can now be used to destructure properties `a` and `b` of `x`. This syntax is equivalent to `a = getproperty(x, :a)`
and similarly for `b`. ([#39285])
Language changes
----------------
Compiler/Runtime improvements
-----------------------------
Command-line option changes
---------------------------
Multi-threading changes
-----------------------
* If the `JULIA_NUM_THREADS` environment variable is set to `auto`, then the number of threads will be set to the number of CPU threads ([#38952])
Build system changes
--------------------
New library functions
---------------------
* Two argument methods `findmax(f, domain)`, `argmax(f, domain)` and the corresponding `min` versions ([#27613]).
* `isunordered(x)` returns true if `x` is value that is normally unordered, such as `NaN` or `missing`.
* New macro `Base.@invokelatest f(args...; kwargs...)` provides a convenient way to call `Base.invokelatest(f, args...; kwargs...)` ([#37971])
* New macro `Base.@invoke f(arg1::T1, arg2::T2; kwargs...)` provides an easier syntax to call `invoke(f, Tuple{T1,T2}; kwargs...)` ([#38438])
New library features
--------------------
* The optional keyword argument `context` of `sprint` can now be set to a tuple of `:key => value` pairs to specify multiple attributes. ([#39381])
* `atol` argument of `isapprox` now accepts arbitrary `Number` types (rather than `Real`)
in order to support dimensionful values (though a nonzero `atol` must still support `max`
like a real number) ([#39852]).
Standard library changes
------------------------
* `count` and `findall` now accept an `AbstractChar` argument to search for a character in a string ([#38675]).
* `Test` now exports a `GenericDimensionful` number type that can be used to test whether
code works with dimensionful types (like those in the Unitful.jl package) ([#39852]).
* `range` now supports the `range(start, stop)` and `range(start, stop, length)` methods ([#39228]).
* `range` now supports `start` as an optional keyword argument ([#38041]).
* `islowercase` and `isuppercase` are now compliant with the Unicode lower/uppercase categories ([#38574]).
* `iseven` and `isodd` functions now support non-`Integer` numeric types ([#38976]).
* `escape_string` can now receive a collection of characters in the keyword
`keep` that are to be kept as they are. ([#38597]).
* `getindex` can now be used on `NamedTuple`s with multiple values ([#38878])
* `keys(::RegexMatch)` is now defined to return the capture's keys, by name if named, or by index if not ([#37299]).
* `keys(::Generator)` is now defined to return the iterator's keys ([#34678])
* `RegexMatch` now iterate to give their captures. ([#34355]).
#### Package Manager
#### LinearAlgebra
* Use [Libblastrampoline](https://github.com/staticfloat/libblastrampoline/) to pick a BLAS and LAPACK at runtime. By default it forwards to OpenBLAS in the Julia distribution. The forwarding mechanism can be used by packages to replace the BLAS and LAPACK with user preferences. ([#39455])
* On aarch64, OpenBLAS now uses an ILP64 BLAS like all other 64-bit platforms. ([#39436])
* OpenBLAS is updated to 0.3.13. ([#39216])
* SuiteSparse is updated to 5.8.1. ([#39455])
#### Markdown
#### Printf
#### Random
#### REPL
#### SparseArrays
#### Dates
* The `Dates.periods` function can be used to get the `Vector` of `Period`s that comprise a `CompoundPeriod` ([#39169]).
#### Statistics
#### Sockets
#### Distributed
#### UUIDs
#### Mmap
Deprecated or removed
---------------------
- Multiple successive semicolons in an array expresion were previously ignored (e.g. `[1 ;; 2] == [1 ; 2]`). Multiple semicolons are being reserved for future syntax and may have different behavior in a future release.
External dependencies
---------------------
Tooling Improvements
---------------------
<!--- generated by NEWS-update.jl: -->
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...