You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: NEWS.md
+31-20Lines changed: 31 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,15 @@
1
1
Julia v1.1 Release Notes
2
-
==========================
2
+
========================
3
3
4
4
New language features
5
5
---------------------
6
6
7
-
* An *exception stack* is maintained on each task to make exception handling more robust and enable root cause analysis using `catch_stack` ([#28878]).
7
+
* An *exception stack* is maintained on each task to make exception handling
8
+
more robust and enable root cause analysis. The stack may be accessed using
9
+
the experimental function `Base.catch_stack` ([#28878]).
8
10
* The experimental macro `Base.@locals` returns a dictionary of current local variable names
9
11
and values ([#29733]).
12
+
* Binary `~` can now be dotted, as in `x .~ y` ([#30341]).
10
13
11
14
Language changes
12
15
----------------
@@ -25,13 +28,14 @@ Language changes
25
28
the old behavior, or `CartesianIndices(a)[findall(in(b), a)]` to get the new behavior
26
29
on previous Julia versions ([#30226]).
27
30
*`findmin(::BitArray)` and `findmax(::BitArray)` now return a `CartesianIndex` when `a` is a matrix
28
-
or a higher-dimensional array, for consistency with for other array types.
31
+
or a higher-dimensional array, for consistency with other array types.
29
32
Use `LinearIndices(a)[findmin(a)[2]]` to get the old behavior, or `CartesianIndices(a)[findmin(a)[2]]`
30
33
to get the new behavior on previous Julia versions ([#30102]).
31
34
* Method signatures such as
32
35
`f(::Type{T}, ::T) where {T <: X}` and
33
36
`f(::Type{X}, ::Any)`
34
-
are now considered ambiguous. Previously a bug caused the first one to be considered more specific ([#30160]).
37
+
are now considered ambiguous. Previously a bug caused the first one to be considered more specific in
38
+
some cases ([#30160]).
35
39
36
40
Command-line option changes
37
41
---------------------------
@@ -45,13 +49,14 @@ Command-line option changes
45
49
New library functions
46
50
---------------------
47
51
48
-
*`splitpath(p::String)` function, which is the opposite of `joinpath(parts...)`: it splits a filepath into its components ([#28156]).
49
-
*`isnothing(::Any)` function, to check whether something is a `Nothing`, returns a `Bool` ([#29679]).
52
+
*`splitpath(p::String)` function, which is the opposite of `joinpath(parts...)`: it splits a filepath
53
+
into its components ([#28156]).
54
+
*`isnothing(::Any)` predicate, to check whether the argument is `nothing`. ([#29679]).
50
55
*`getpid(::Process)` method ([#24064]).
51
56
*`eachrow`, `eachcol` and `eachslice` functions provide efficient iterators over slices of arrays ([#29749]).
52
-
*`fieldtypes(T::Type)` which return the declared types of the field in type T ([#29600]).
57
+
*`fieldtypes(T::Type)` which returns the declared types of the field in type T ([#29600]).
53
58
*`uuid5` has been added to the `UUIDs` standard library ([#28761]).
54
-
*Predicate functions`Sys.isfreebsd`, `Sys.isopenbsd`, `Sys.isnetbsd`, and `Sys.isdragonfly` for
59
+
*Predicates`Sys.isfreebsd`, `Sys.isopenbsd`, `Sys.isnetbsd`, and `Sys.isdragonfly` for
55
60
detecting BSD systems have been added ([#30249]).
56
61
* Internal `Base.disable_library_threading` that sets libraries to use one thread.
57
62
It executes function hooks that have been registered with
@@ -72,7 +77,7 @@ Standard library changes
72
77
argument ([#29157]).
73
78
* The use of scientific notation when printing `BigFloat` values is now consistent with other floating point
74
79
types ([#29211]).
75
-
*`Regex` now behave like a scalar when used in broadcasting ([#29913]).
80
+
*`Regex` now behaves like a scalar when used in broadcasting ([#29913]).
76
81
*`Char` now behaves like a read-only 0-dimensional array ([#29819]).
77
82
*`parse` now allows strings representing integer 0 and 1 for type `Bool` ([#29980]).
78
83
*`Base.tail` now works on named tuples ([#29595]).
@@ -81,24 +86,21 @@ Standard library changes
81
86
*`Base.julia_cmd` now propagates the `--inline=(yes|no)` flag ([#29858]).
82
87
*`Base.@kwdef` can now be used for parametric structs, and for structs with supertypes ([#29316]).
83
88
*`merge(::NamedTuple, ::NamedTuple...)` can now be used with more than 2 `NamedTuple`s ([#29259]).
84
-
*`Future.copy!` has been moved to `Base` ([#29178]).
85
89
* New `ncodeunits(c::Char)` method as a fast equivalent to `ncodeunits(string(c))` ([#29153]).
86
90
* New `sort!(::AbstractArray; dims)` method that can sort the array along the `dims` dimension ([#28902]).
87
-
*`range` now accept `stop` as a positional argument ([#28708]).
88
-
*`get(A::AbstractArray, (), default)` now returns the result of `A[]` if it can instead of always
89
-
returning an empty array ([#30270]).
91
+
*`range` now accepts `stop` as a positional argument ([#28708]).
92
+
*`get(A::AbstractArray, (), default)` now returns `A[]` instead of an empty array ([#30270]).
90
93
*`parse(Bool, str)` is now supported ([#29997]).
91
-
*`copyto!(::AbstractMatrix, ::UniformScaling)` supports rectangular matrices now ([#28790]).
92
-
* In `put!(c::Channel{T}, v)`, `v` now gets converted to `T` as `put!` is being called ([#29092]).
94
+
*`copyto!(::AbstractMatrix, ::UniformScaling)` now supports rectangular matrices ([#28790]).
93
95
*`current_project()` now searches the parent directories of a Git repository for a `Project.toml` file.
94
96
This also affects the behavior of the `--project` command line option when using the default
95
97
`--project=@.` ([#29108]).
96
-
* The `spawn` API is now more flexible and supports taking IOBuffer directly as a I/O stream,
98
+
* The `spawn` API is now more flexible and supports taking IOBuffer directly as an I/O stream,
97
99
converting to a system pipe as needed ([#30278]).
98
100
99
101
#### Dates
100
102
* New `DateTime(::Date, ::Time)` constructor ([#29754]).
101
-
*`TimeZone` now behave like a scalar when used in broadcasting ([#30159]).
103
+
*`TimeZone` now behaves like a scalar when used in broadcasting ([#30159]).
102
104
103
105
#### InteractiveUtils
104
106
*`edit` can now be called on a module to edit the file that defines it ([#29636]).
@@ -110,7 +112,8 @@ Standard library changes
110
112
*`isdiag` and `isposdef` for `Diagonal` and `UniformScaling` ([#29638]).
111
113
*`mul!`, `rmul!` and `lmul!` methods for `UniformScaling` ([#29506]).
112
114
*`Symmetric` and `Hermitian` matrices now preserve the wrapper when scaled with a number ([#29469]).
113
-
* Exponentiation operator `^` now supports raising a `Irrational` to an `AbstractMatrix` power ([#29782]).
115
+
* Exponentiation operator `^` now supports raising an `Irrational` to an `AbstractMatrix` power ([#29782]).
116
+
* Added keyword arguments `rtol`, `atol` to `pinv`, `nullspace` and `rank` ([#29998], [#29926]).
114
117
115
118
#### Random
116
119
*`randperm` and `randcycle` now use the type of their argument to determine the element type of
@@ -122,7 +125,7 @@ Standard library changes
122
125
*`sprandn` now supports specifying the output element type ([#30083]).
123
126
124
127
#### Statistics
125
-
*`mean` and `var` now handles the empty case ([#29033]).
128
+
*`mean` and `var` now handle more kinds of empty inputs ([#29033]).
126
129
127
130
External dependencies
128
131
---------------------
@@ -133,6 +136,7 @@ External dependencies
133
136
* The source code for Pkg is no longer included in JuliaLang/julia. Pkg is instead
134
137
downloaded during the build process ([#29615]).
135
138
* LLVM has been upgraded to 6.0.1 and support for LLVM < 6.0 has been dropped ([#28745], [#28696]).
139
+
* Pkg has been upgraded to version 1.1 ([#30342]).
0 commit comments