Skip to content

Latest commit

 

History

History
120 lines (69 loc) · 3.78 KB

NEWS.md

File metadata and controls

120 lines (69 loc) · 3.78 KB

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}, arg1, arg2; 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])

Standard library changes

  • count and findall now accept an AbstractChar argument to search for a character in a string ([#38675]).
  • 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 NamedTuples with multiple values ([#38878])
  • Subtypes of AbstractRange now correctly follow the general array indexing behavior when indexed by Bools, erroring for scalar Bools and treating arrays (including ranges) of Bool as an logical index ([#31829])
  • 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 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 Periods that comprise a CompoundPeriod ([#39169]).

Statistics

Sockets

Distributed

UUIDs

Mmap

  • mmap is now exported ([#39816]).

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