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
+12-3
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,11 @@ New language features
11
11
as `.&&` and `.||`. ([#39594])
12
12
*`⫪` (U+2AEA, `\Top`, `\downvDash`) and `⫫` (U+2AEB, `\Bot`, `\upvDash`, `\indep`)
13
13
may now be used as binary operators with comparison precedence. ([#39403])
14
+
* Repeated semicolons may now be used inside array literals to separate dimensions of an array,
15
+
with the number of semicolons specifying the particular dimension. Just as the single semicolon
16
+
in `[A; B]` has always described concatenating along the first dimension (vertically), now two
17
+
semicolons `[A;; B]` do so in the second dimension (horizontally), three semicolons `;;;` in the
18
+
third, and so on. ([#33697])
14
19
15
20
Language changes
16
21
----------------
@@ -42,10 +47,10 @@ New library functions
42
47
* Two argument methods `findmax(f, domain)`, `argmax(f, domain)` and the corresponding `min` versions ([#27613]).
43
48
*`isunordered(x)` returns true if `x` is value that is normally unordered, such as `NaN` or `missing`.
44
49
* New macro `Base.@invokelatest f(args...; kwargs...)` provides a convenient way to call `Base.invokelatest(f, args...; kwargs...)` ([#37971])
45
-
* New macro `Base.@invoke f(arg1::T1, arg2::T2; kwargs...)` provides an easier syntax to call `invoke(f, Tuple{T1,T2}; kwargs...)` ([#38438])
46
50
* Two arguments method `lock(f, lck)` now accepts a `Channel` as the second argument. ([#39312])
47
51
* New functor `Returns(value)`, which returns `value` for any arguments ([#39794])
48
52
* 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])
53
+
* New macros `@something` and `@coalesce` which are short-circuiting versions of `something` and `coalesce`, respectively ([#40729])
49
54
50
55
New library features
51
56
--------------------
@@ -56,9 +61,11 @@ New library features
56
61
Standard library changes
57
62
------------------------
58
63
64
+
* Long strings are now elided using the syntax `"head" ⋯ 12345 bytes ⋯ "tail"` when displayed in the REPL ([#40736]).
59
65
*`count` and `findall` now accept an `AbstractChar` argument to search for a character in a string ([#38675]).
60
66
*`range` now supports the `range(start, stop)` and `range(start, stop, length)` methods ([#39228]).
61
67
*`range` now supports `start` as an optional keyword argument ([#38041]).
68
+
* Some operations on ranges will return a `StepRangeLen` instead of a `StepRange`, to allow the resulting step to be zero. Previously, `λ .* (1:9)` gave an error when `λ = 0`. ([#40320])
62
69
*`islowercase` and `isuppercase` are now compliant with the Unicode lower/uppercase categories ([#38574]).
63
70
*`iseven` and `isodd` functions now support non-`Integer` numeric types ([#38976]).
64
71
*`escape_string` can now receive a collection of characters in the keyword
@@ -86,6 +93,8 @@ Standard library changes
86
93
```
87
94
([#39322])
88
95
*`@lock` is now exported from Base ([#39588]).
96
+
* The experimental function `Base.catch_stack()` has been renamed to `current_exceptions()`, exported from Base and given a more specific return type ([#29901])
97
+
* Some degree trigonometric functions, `sind`, `cosd`, `tand`, `asind`, `acosd`, `asecd`, `acscd`, `acotd`, `atand` now accept an square matrix ([#39758]).
89
98
90
99
#### Package Manager
91
100
@@ -117,7 +126,7 @@ Standard library changes
117
126
118
127
* new `sizehint!(::SparseMatrixCSC, ::Integer)` method ([#30676]).
119
128
*`cholesky()` now fully preserves the user-specified permutation. ([#40560])
120
-
129
+
*`issparse` now applies consistently to all wrapper arrays, including nested, by checking `issparse` on the wrapped parent array ([#37644]).
121
130
122
131
#### Dates
123
132
@@ -145,7 +154,7 @@ Standard library changes
145
154
146
155
Deprecated or removed
147
156
---------------------
148
-
- 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.
157
+
- Multiple successive semicolons in an array expresion were previously ignored (e.g.,`[1 ;; 2] == [1 ; 2]`). This is now being used to separate dimensions for array literals. (see **New language features**)
0 commit comments