Skip to content

Commit 13d1bd4

Browse files
authored
Set master version to 1.5 (#34218)
1 parent 4c58369 commit 13d1bd4

File tree

3 files changed

+130
-82
lines changed

3 files changed

+130
-82
lines changed

HISTORY.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,131 @@
1+
Julia v1.4 Release Notes
2+
========================
3+
4+
New language features
5+
---------------------
6+
7+
* Structs with all isbits and isbitsunion fields are now stored inline in arrays ([#32448]).
8+
* `import` now allows quoted symbols, e.g. `import Base.:+` ([#33158]).
9+
* `a[begin]` can now be used to address the first element of an integer-indexed collection `a`.
10+
The index is computed by `firstindex(a)` ([#33946]).
11+
12+
Language changes
13+
----------------
14+
15+
* The syntax `(;)`, which used to parse as an empty block expression, is deprecated.
16+
In the future it will indicate an empty named tuple ([#30115]).
17+
18+
Multi-threading changes
19+
-----------------------
20+
21+
* Values can now be interpolated into `@async` and `@spawn` via `$`, which copies the value directly into the constructed
22+
underlying closure ([#33119]).
23+
24+
Build system changes
25+
--------------------
26+
27+
* Windows build installer has switched to Inno Setup. Installer command line parameters have thus changed. For example, to extract the installer to a specific directory, the command line parameter is now `/DIR=x:\dirname`. Use `julia-installer.exe /?` to list all new command line parameters.
28+
29+
New library functions
30+
---------------------
31+
32+
* The new `only(x)` function returns the one-and-only element of a collection `x`, and throws an `ArgumentError` if `x` contains zero or multiple elements ([#33129]).
33+
* `takewhile` and `dropwhile` have been added to the Iterators submodule ([#33437]).
34+
* `accumulate` has been added to the Iterators submodule ([#34033]).
35+
* There is a now an `evalpoly` function meant to take the role of the `@evalpoly` macro. The function is just as efficient as the macro while giving added flexibility, so it should be preferred over `@evalpoly`. `evalpoly` takes a list of coefficients as a tuple, so where one might write `@evalpoly(x, p1, p2, p3)` one would instead write `evalpoly(x, (p1, p2, p3))`.
36+
37+
New library features
38+
--------------------
39+
40+
* Function composition now supports multiple functions: `∘(f, g, h) = f ∘ g ∘ h`
41+
and splatting `∘(fs...)` for composing an iterable collection of functions ([#33568]).
42+
* Functions `gcd`, `lcm`, and `gcdx` now support `Rational` arguments ([#33910]).
43+
* The `splitpath` function now accepts any `AbstractString` whereas previously it only accepted paths of type `String` ([#33012]).
44+
* `filter` can now act on a `Tuple` ([#32968]).
45+
* The `tempname` function now takes an optional `parent::AbstractString` argument to give it a directory in which to attempt to produce a temporary path name ([#33090]).
46+
* The `tempname` function now takes a `cleanup::Bool` keyword argument defaulting to `true`, which causes the process to try to ensure that any file or directory at the path returned by `tempname` is deleted upon process exit ([#33090]).
47+
* The `readdir` function now takes a `join::Bool` keyword argument defaulting to `false`, which when set causes `readdir` to join its directory argument with each listed name ([#33113]).
48+
* `div` now accepts a rounding mode as the third argument, consistent with the corresponding argument to `rem`. Support for rounding division, by passing one of the RoundNearest modes to this function, was added. For future compatibility, library authors should now extend this function, rather than extending the two-argument `fld`/`cld`/`div` directly ([#33040]).
49+
* `methods` now accepts a module (or a list thereof) to filter methods defined in it ([#33403]).
50+
51+
Standard library changes
52+
------------------------
53+
54+
* Calling `show` or `repr` on an `undef`/`UndefInitializer()` array initializer now shows valid Julia code ([#33211]).
55+
* Calling `show` or `repr` on a 0-dimensional `AbstractArray` now shows valid code for creating an equivalent 0-dimensional array, instead of only showing the contained value ([#33206]).
56+
* `readdir` output is now guaranteed to be sorted. The `sort` keyword allows opting out of sorting to get names in OS-native order ([#33542]).
57+
* The methods of `mktemp` and `mktempdir` that take a function to pass temporary paths to no longer throw errors if the path is already deleted when the function returns ([#33091]).
58+
* Verbose `display` of `Char` (`text/plain` output) now shows the codepoint value in standard-conforming `"U+XXXX"` format ([#33291]).
59+
* `Iterators.partition` now uses views (or smartly re-computed ranges) for partitions of all `AbstractArray`s ([#33533]).
60+
* Sets are now displayed less compactly in the REPL, as a column of elements, like vectors
61+
and dictionaries ([#33300]).
62+
* `delete!` on `WeakKeyDict`s now returns the `WeakKeyDict` itself instead of the underlying `Dict` used for implementation
63+
64+
#### LinearAlgebra
65+
66+
* `qr` and `qr!` functions support `blocksize` keyword argument ([#33053]).
67+
* `dot` now admits a 3-argument method `dot(x, A, y)` to compute generalized dot products `dot(x, A*y)`, but without computing and storing the intermediate result `A*y` ([#32739]).
68+
* `ldlt` and non-pivoted `lu` now throw a new `ZeroPivotException` type ([#33372]).
69+
* `cond(A, p)` with `p=1` or `p=Inf` now computes the exact condition number instead of an estimate ([#33547]).
70+
* `UniformScaling` objects may now be exponentiated such that `(a*I)^x = a^x * I`.
71+
72+
#### Markdown
73+
74+
* Tables now have the `align` attribute set when `show`n as HTML ([#33849]).
75+
76+
#### Random
77+
78+
* `AbstractRNG`s now behave like scalars when used in broadcasting ([#33213]).
79+
* The performance of `rand(::Tuple)` is improved in some cases ([#32208]). As a consequence, the
80+
stream of generated values produced for a given seed has changed.
81+
82+
#### REPL
83+
84+
* The attributes of the implicit `IOContext` used by the REPL to display objects can be
85+
modified by the user (experimental feature) ([#29249]).
86+
87+
#### SparseArrays
88+
89+
* The return value of `zero(x::AbstractSparseArray)` has no stored zeros anymore ([#31835]).
90+
Previously, it would have stored zeros wherever `x` had them. This makes the operation
91+
constant time instead of `O(<number of stored values>)`.
92+
* Products involving sparse arrays now allow more general sparse `eltype`s, such as `StaticArrays` ([#33205])
93+
94+
<!--- generated by NEWS-update.jl: -->
95+
[#29249]: https://github.com/JuliaLang/julia/issues/29249
96+
[#30115]: https://github.com/JuliaLang/julia/issues/30115
97+
[#31835]: https://github.com/JuliaLang/julia/issues/31835
98+
[#32208]: https://github.com/JuliaLang/julia/issues/32208
99+
[#32448]: https://github.com/JuliaLang/julia/issues/32448
100+
[#32739]: https://github.com/JuliaLang/julia/issues/32739
101+
[#32968]: https://github.com/JuliaLang/julia/issues/32968
102+
[#33012]: https://github.com/JuliaLang/julia/issues/33012
103+
[#33040]: https://github.com/JuliaLang/julia/issues/33040
104+
[#33053]: https://github.com/JuliaLang/julia/issues/33053
105+
[#33090]: https://github.com/JuliaLang/julia/issues/33090
106+
[#33091]: https://github.com/JuliaLang/julia/issues/33091
107+
[#33113]: https://github.com/JuliaLang/julia/issues/33113
108+
[#33119]: https://github.com/JuliaLang/julia/issues/33119
109+
[#33129]: https://github.com/JuliaLang/julia/issues/33129
110+
[#33158]: https://github.com/JuliaLang/julia/issues/33158
111+
[#33205]: https://github.com/JuliaLang/julia/issues/33205
112+
[#33206]: https://github.com/JuliaLang/julia/issues/33206
113+
[#33211]: https://github.com/JuliaLang/julia/issues/33211
114+
[#33213]: https://github.com/JuliaLang/julia/issues/33213
115+
[#33291]: https://github.com/JuliaLang/julia/issues/33291
116+
[#33300]: https://github.com/JuliaLang/julia/issues/33300
117+
[#33372]: https://github.com/JuliaLang/julia/issues/33372
118+
[#33403]: https://github.com/JuliaLang/julia/issues/33403
119+
[#33437]: https://github.com/JuliaLang/julia/issues/33437
120+
[#33533]: https://github.com/JuliaLang/julia/issues/33533
121+
[#33542]: https://github.com/JuliaLang/julia/issues/33542
122+
[#33547]: https://github.com/JuliaLang/julia/issues/33547
123+
[#33568]: https://github.com/JuliaLang/julia/issues/33568
124+
[#33849]: https://github.com/JuliaLang/julia/issues/33849
125+
[#33910]: https://github.com/JuliaLang/julia/issues/33910
126+
[#33946]: https://github.com/JuliaLang/julia/issues/33946
127+
[#34033]: https://github.com/JuliaLang/julia/issues/34033
128+
1129
Julia v1.3 Release Notes
2130
========================
3131

NEWS.md

Lines changed: 1 addition & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,127 +1,47 @@
1-
Julia v1.4 Release Notes
1+
Julia v1.5 Release Notes
22
========================
33

44
New language features
55
---------------------
66

7-
* Structs with all isbits and isbitsunion fields are now stored inline in arrays ([#32448]).
8-
* `import` now allows quoted symbols, e.g. `import Base.:+` ([#33158]).
9-
* `a[begin]` can now be used to address the first element of an integer-indexed collection `a`.
10-
The index is computed by `firstindex(a)` ([#33946]).
117

128
Language changes
139
----------------
1410

15-
* The syntax `(;)`, which used to parse as an empty block expression, is deprecated.
16-
In the future it will indicate an empty named tuple ([#30115]).
1711

1812
Multi-threading changes
1913
-----------------------
2014

21-
* Values can now be interpolated into `@async` and `@spawn` via `$`, which copies the value directly into the constructed
22-
underlying closure ([#33119]).
2315

2416
Build system changes
2517
--------------------
2618

27-
* Windows build installer has switched to Inno Setup. Installer command line parameters have thus changed. For example, to extract the installer to a specific directory, the command line parameter is now `/DIR=x:\dirname`. Use `julia-installer.exe /?` to list all new command line parameters.
2819

2920
New library functions
3021
---------------------
3122

32-
* The new `only(x)` function returns the one-and-only element of a collection `x`, and throws an `ArgumentError` if `x` contains zero or multiple elements ([#33129]).
33-
* `takewhile` and `dropwhile` have been added to the Iterators submodule ([#33437]).
34-
* `accumulate` has been added to the Iterators submodule ([#34033]).
35-
* There is a now an `evalpoly` function meant to take the role of the `@evalpoly` macro. The function is just as efficient as the macro while giving added flexibility, so it should be preferred over `@evalpoly`. `evalpoly` takes a list of coefficients as a tuple, so where one might write `@evalpoly(x, p1, p2, p3)` one would instead write `evalpoly(x, (p1, p2, p3))`.
3623

3724
New library features
3825
--------------------
3926

40-
* Function composition now supports multiple functions: `∘(f, g, h) = f ∘ g ∘ h`
41-
and splatting `∘(fs...)` for composing an iterable collection of functions ([#33568]).
42-
* Functions `gcd`, `lcm`, and `gcdx` now support `Rational` arguments ([#33910]).
43-
* The `splitpath` function now accepts any `AbstractString` whereas previously it only accepted paths of type `String` ([#33012]).
44-
* `filter` can now act on a `Tuple` ([#32968]).
45-
* The `tempname` function now takes an optional `parent::AbstractString` argument to give it a directory in which to attempt to produce a temporary path name ([#33090]).
46-
* The `tempname` function now takes a `cleanup::Bool` keyword argument defaulting to `true`, which causes the process to try to ensure that any file or directory at the path returned by `tempname` is deleted upon process exit ([#33090]).
47-
* The `readdir` function now takes a `join::Bool` keyword argument defaulting to `false`, which when set causes `readdir` to join its directory argument with each listed name ([#33113]).
48-
* `div` now accepts a rounding mode as the third argument, consistent with the corresponding argument to `rem`. Support for rounding division, by passing one of the RoundNearest modes to this function, was added. For future compatibility, library authors should now extend this function, rather than extending the two-argument `fld`/`cld`/`div` directly ([#33040]).
49-
* `methods` now accepts a module (or a list thereof) to filter methods defined in it ([#33403]).
5027

5128
Standard library changes
5229
------------------------
5330

54-
* Calling `show` or `repr` on an `undef`/`UndefInitializer()` array initializer now shows valid Julia code ([#33211]).
55-
* Calling `show` or `repr` on a 0-dimensional `AbstractArray` now shows valid code for creating an equivalent 0-dimensional array, instead of only showing the contained value ([#33206]).
56-
* `readdir` output is now guaranteed to be sorted. The `sort` keyword allows opting out of sorting to get names in OS-native order ([#33542]).
57-
* The methods of `mktemp` and `mktempdir` that take a function to pass temporary paths to no longer throw errors if the path is already deleted when the function returns ([#33091]).
58-
* Verbose `display` of `Char` (`text/plain` output) now shows the codepoint value in standard-conforming `"U+XXXX"` format ([#33291]).
59-
* `Iterators.partition` now uses views (or smartly re-computed ranges) for partitions of all `AbstractArray`s ([#33533]).
60-
* Sets are now displayed less compactly in the REPL, as a column of elements, like vectors
61-
and dictionaries ([#33300]).
62-
* `delete!` on `WeakKeyDict`s now returns the `WeakKeyDict` itself instead of the underlying `Dict` used for implementation
6331

6432
#### LinearAlgebra
6533

66-
* `qr` and `qr!` functions support `blocksize` keyword argument ([#33053]).
67-
* `dot` now admits a 3-argument method `dot(x, A, y)` to compute generalized dot products `dot(x, A*y)`, but without computing and storing the intermediate result `A*y` ([#32739]).
68-
* `ldlt` and non-pivoted `lu` now throw a new `ZeroPivotException` type ([#33372]).
69-
* `cond(A, p)` with `p=1` or `p=Inf` now computes the exact condition number instead of an estimate ([#33547]).
70-
* `UniformScaling` objects may now be exponentiated such that `(a*I)^x = a^x * I`.
7134

7235
#### Markdown
7336

74-
* Tables now have the `align` attribute set when `show`n as HTML ([#33849]).
7537

7638
#### Random
7739

78-
* `AbstractRNG`s now behave like scalars when used in broadcasting ([#33213]).
79-
* The performance of `rand(::Tuple)` is improved in some cases ([#32208]). As a consequence, the
80-
stream of generated values produced for a given seed has changed.
8140

8241
#### REPL
8342

84-
* The attributes of the implicit `IOContext` used by the REPL to display objects can be
85-
modified by the user (experimental feature) ([#29249]).
8643

8744
#### SparseArrays
8845

89-
* The return value of `zero(x::AbstractSparseArray)` has no stored zeros anymore ([#31835]).
90-
Previously, it would have stored zeros wherever `x` had them. This makes the operation
91-
constant time instead of `O(<number of stored values>)`.
92-
* Products involving sparse arrays now allow more general sparse `eltype`s, such as `StaticArrays` ([#33205])
9346

9447
<!--- generated by NEWS-update.jl: -->
95-
[#29249]: https://github.com/JuliaLang/julia/issues/29249
96-
[#30115]: https://github.com/JuliaLang/julia/issues/30115
97-
[#31835]: https://github.com/JuliaLang/julia/issues/31835
98-
[#32208]: https://github.com/JuliaLang/julia/issues/32208
99-
[#32448]: https://github.com/JuliaLang/julia/issues/32448
100-
[#32739]: https://github.com/JuliaLang/julia/issues/32739
101-
[#32968]: https://github.com/JuliaLang/julia/issues/32968
102-
[#33012]: https://github.com/JuliaLang/julia/issues/33012
103-
[#33040]: https://github.com/JuliaLang/julia/issues/33040
104-
[#33053]: https://github.com/JuliaLang/julia/issues/33053
105-
[#33090]: https://github.com/JuliaLang/julia/issues/33090
106-
[#33091]: https://github.com/JuliaLang/julia/issues/33091
107-
[#33113]: https://github.com/JuliaLang/julia/issues/33113
108-
[#33119]: https://github.com/JuliaLang/julia/issues/33119
109-
[#33129]: https://github.com/JuliaLang/julia/issues/33129
110-
[#33158]: https://github.com/JuliaLang/julia/issues/33158
111-
[#33205]: https://github.com/JuliaLang/julia/issues/33205
112-
[#33206]: https://github.com/JuliaLang/julia/issues/33206
113-
[#33211]: https://github.com/JuliaLang/julia/issues/33211
114-
[#33213]: https://github.com/JuliaLang/julia/issues/33213
115-
[#33291]: https://github.com/JuliaLang/julia/issues/33291
116-
[#33300]: https://github.com/JuliaLang/julia/issues/33300
117-
[#33372]: https://github.com/JuliaLang/julia/issues/33372
118-
[#33403]: https://github.com/JuliaLang/julia/issues/33403
119-
[#33437]: https://github.com/JuliaLang/julia/issues/33437
120-
[#33533]: https://github.com/JuliaLang/julia/issues/33533
121-
[#33542]: https://github.com/JuliaLang/julia/issues/33542
122-
[#33547]: https://github.com/JuliaLang/julia/issues/33547
123-
[#33568]: https://github.com/JuliaLang/julia/issues/33568
124-
[#33849]: https://github.com/JuliaLang/julia/issues/33849
125-
[#33910]: https://github.com/JuliaLang/julia/issues/33910
126-
[#33946]: https://github.com/JuliaLang/julia/issues/33946
127-
[#34033]: https://github.com/JuliaLang/julia/issues/34033

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.4.0-DEV
1+
1.5.0-DEV

0 commit comments

Comments
 (0)