Skip to content

Latest commit

 

History

History
110 lines (85 loc) · 4.72 KB

NEWS.md

File metadata and controls

110 lines (85 loc) · 4.72 KB

Julia v1.2 Release Notes

New language features

  • Argument splatting (x...) can now be used in calls to the new pseudo-function in constructors (#30577).

  • 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]).

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).

Language changes

  • Empty entries in JULIA_DEPOT_PATH are now expanded to default depot entries ([#31009]).
  • Enum now behaves like a scalar when used in broadcasting (#30670).

Command-line option changes

New library functions

  • getipaddrs() function returns all the IP addresses of the local machine (#30349)
  • Added Base.hasproperty and Base.hasfield (#28850).
  • One argument !=(x), >(x), >=(x), <(x), <=(x) has been added for currying, similar to the existing ==(x) and isequal(x) methods (#30915).

Standard library changes

  • 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).
  • filter now supports SkipMissing-wrapped arrays ([#31235]).
  • A no-argument construct to 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])

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)

Dates

  • Fixed repr such that it displays DateTime as it would be entered in Julia (#30200).

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).

Deprecated or removed