Skip to content

Latest commit

 

History

History
122 lines (76 loc) · 3.24 KB

NEWS.md

File metadata and controls

122 lines (76 loc) · 3.24 KB

Julia v1.9 Release Notes

New language features

  • It is now possible to assign to bindings in another module using setproperty!(::Module, ::Symbol, x). ([#44137])
  • Slurping in assignments is now also allowed in non-final position. This is handled via Base.split_rest. ([#42902])

Language changes

  • New builtins getglobal(::Module, ::Symbol[, order]) and setglobal!(::Module, ::Symbol, x[, order]) for reading from and writing to globals. getglobal should now be preferred for accessing globals over getfield. ([#44137])

Compiler/Runtime improvements

Command-line option changes

  • In Linux and Windows, --threads=auto now tries to infer usable number of CPUs from the process affinity which is set typically in HPC and cloud environments ([#42340]).

Multi-threading changes

Build system changes

New library functions

  • Iterators.flatmap was added ([#44792]).

Library changes

  • A known concurrency issue of iterate methods on Dict and other derived objects such as keys(::Dict), values(::Dict), and Set is fixed. These methods of iterate can now be called on a dictionary or set shared by arbitrary tasks provided that there are no tasks mutating the dictionary or set ([#44534]).
  • Predicate function negation !f now returns a composed function (!) ∘ f instead of an anonymous function ([#44752]).
  • RoundFromZero now works for non-BigFloat types ([#41246]).
  • @time now separates out % time spent recompiling invalidated methods ([#45015]).

Standard library changes

Package Manager

LinearAlgebra

  • The methods a / b and b \ a with a a scalar and b a vector, which were equivalent to a * pinv(b), have been removed due to the risk of confusion with elementwise division ([#44358]).
  • We are now wholly reliant on libblastrampoline (LBT) for calling BLAS and LAPACK. OpenBLAS is shipped by default, but building the system image with other BLAS/LAPACK libraries is not supported. Instead, it is recommended that the LBT mechanism be used for swapping BLAS/LAPACK with vendor provided ones. ([#44360])

Markdown

Printf

Random

  • randn and randexp now work for any AbstractFloat type defining rand ([#44714]).

REPL

SparseArrays

Dates

Downloads

Statistics

Sockets

Tar

Distributed

  • The package environment (active project, LOAD_PATH, DEPOT_PATH) are now propagated when adding local workers (e.g. with addprocs(N::Int) or through the --procs=N command line flag) ([#43270]).
  • addprocs for local workers now accept the env keyword argument for passing environment variables to the workers processes. This was already supported for remote workers ([#43270]).

UUIDs

Unicode

  • graphemes(s, m:n) returns a substring of the m-th to n-th graphemes in s ([#44266]).

Mmap

DelimitedFiles

Deprecated or removed

External dependencies

Tooling Improvements