Skip to content

Commit 8a4ab11

Browse files
DilumAluthgeKristofferC
andauthored
Set VERSION to 1.11.0-DEV (#50314)
* Set `VERSION` to `1.11.0-DEV` * move NEWS to HISTORY Co-authored-by: KristofferC <kristoffer.carlsson@juliacomputing.com>
1 parent 0ba6ec2 commit 8a4ab11

File tree

3 files changed

+117
-90
lines changed

3 files changed

+117
-90
lines changed

HISTORY.md

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,118 @@
1+
Julia v1.10 Release Notes
2+
=========================
3+
New language features
4+
---------------------
5+
6+
* JuliaSyntax.jl is now used as the default parser, providing better diagnostics and faster
7+
parsing. Set environment variable `JULIA_USE_NEW_PARSER` to `0` to switch back to the old
8+
parser if necessary (and if you find this necessary, please file an issue) ([#46372]).
9+
* `` (U+297A, `\leftarrowsubset`) and `` (U+2977, `\leftarrowless`)
10+
may now be used as binary operators with arrow precedence. ([#45962])
11+
12+
Language changes
13+
----------------
14+
15+
* When a task forks a child, the parent task's task-local RNG (random number generator) is no longer affected. The seeding of child based on the parent task also takes a more disciplined approach to collision resistance, using a design based on the SplitMix and DotMix splittable RNG schemes ([#49110]).
16+
* A new more-specific rule for methods resolves ambiguities containing Union{} in favor of
17+
the method defined explicitly to handle the Union{} argument. This makes it possible to
18+
define methods to explicitly handle Union{} without the ambiguities that commonly would
19+
result previously. This also lets the runtime optimize certain method lookups in a way
20+
that significantly improves load and inference times for heavily overloaded methods that
21+
dispatch on Types (such as traits and constructors).
22+
* The "h bar" `` (`\hslash` U+210F) character is now treated as equivalent to `ħ` (`\hbar` U+0127).
23+
* The `@simd` macro now has a more limited and clearer semantics, it only enables reordering and contraction
24+
of floating-point operations, instead of turning on all "fastmath" optimizations.
25+
If you observe performance regressions due to this change, you can recover previous behavior with `@fastmath @simd`,
26+
if you are OK with all the optimizations enabled by the `@fastmath` macro. ([#49405])
27+
* When a method with keyword arguments is displayed in the stack trace view, the textual
28+
representation of the keyword arguments' types is simplified using the new
29+
`@Kwargs{key1::Type1, ...}` macro syntax ([#49959]).
30+
31+
Compiler/Runtime improvements
32+
-----------------------------
33+
34+
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
35+
* The mark phase of the Garbage Collector is now multi-threaded ([#48600]).
36+
* [JITLink](https://llvm.org/docs/JITLink.html) is enabled by default on Linux aarch64 when Julia is linked to LLVM 15 or later versions ([#49745]).
37+
This should resolve many segmentation faults previously observed on this platform.
38+
39+
Command-line option changes
40+
---------------------------
41+
42+
* New option `--gcthreads` to set how many threads will be used by the Garbage Collector ([#48600]).
43+
The default is set to `N/2` where `N` is the amount of worker threads (`--threads`) used by Julia.
44+
45+
New library functions
46+
---------------------
47+
* `tanpi` is now defined. It computes tan(πx) more accurately than `tan(pi*x)` ([#48575]).
48+
* `fourthroot(x)` is now defined in `Base.Math` and can be used to compute the fourth root of `x`.
49+
It can also be accessed using the unicode character ``, which can be typed by `\fourthroot<tab>` ([#48899]).
50+
* `Libc.memmove`, `Libc.memset`, and `Libc.memcpy` are now defined, whose functionality matches that of their respective C calls.
51+
* `Base.isprecompiled(pkg::PkgId)` to identify whether a package has already been precompiled ([#50218]).
52+
53+
New library features
54+
--------------------
55+
* The `initialized=true` keyword assignment for `sortperm!` and `partialsortperm!`
56+
is now a no-op ([#47979]). It previously exposed unsafe behavior ([#47977]).
57+
* `binomial(x, k)` now supports non-integer `x` ([#48124]).
58+
* A `CartesianIndex` is now treated as a "scalar" for broadcasting ([#47044]).
59+
* `printstyled` now supports italic output ([#45164]).
60+
* `parent` and `parentindices` support `SubString`s
61+
62+
Standard library changes
63+
------------------------
64+
65+
* `startswith` now supports seekable `IO` streams ([#43055])
66+
* printing integral `Rational`s will skip the denominator in `Rational`-typed IO context (e.g. in `Arrays`) ([#45396])
67+
68+
#### Package Manager
69+
70+
* `Pkg.precompile` now accepts `timing` as a keyword argument which displays per package timing information for precompilation (e.g. `Pkg.precompile(timing=true)`)
71+
72+
#### LinearAlgebra
73+
74+
* `AbstractQ` no longer subtypes to `AbstractMatrix`. Moreover, `adjoint(Q::AbstractQ)`
75+
no longer wraps `Q` in an `Adjoint` type, but instead in an `AdjointQ`, that itself
76+
subtypes `AbstractQ`. This change accounts for the fact that typically `AbstractQ`
77+
instances behave like function-based, matrix-backed linear operators, and hence don't
78+
allow for efficient indexing. Also, many `AbstractQ` types can act on vectors/matrices
79+
of different size, acting like a matrix with context-dependent size. With this change,
80+
`AbstractQ` has a well-defined API that is described in detail in the
81+
[Julia documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq)
82+
([#46196]).
83+
* Adjoints and transposes of `Factorization` objects are no longer wrapped in `Adjoint`
84+
and `Transpose` wrappers, respectively. Instead, they are wrapped in
85+
`AdjointFactorization` and `TranposeFactorization` types, which themselves subtype
86+
`Factorization` ([#46874]).
87+
* New functions `hermitianpart` and `hermitianpart!` for extracting the Hermitian
88+
(real symmetric) part of a matrix ([#31836]).
89+
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns the norm of the
90+
parent matrix by default, matching the current behaviour for `AbstractVector`s ([#49020]).
91+
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric or Hermitian,
92+
are now fully supported ([#49533])
93+
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues (`eigen`: and eigenvectors)
94+
of `A` and `B` via Cholesky decomposition for positive definite `B`. Note: The second argument is
95+
the output of `cholesky`.
96+
97+
#### Printf
98+
* Format specifiers now support dynamic width and precision, e.g. `%*s` and `%*.*g` ([#40105]).
99+
100+
#### REPL
101+
102+
* When stack traces are printed, the printed depth of types in function signatures will be limited
103+
to avoid overly verbose output ([#49795]).
104+
105+
#### Test
106+
107+
* The `@test_broken` macro (or `@test` with `broken=true`) now complains if the test expression returns a
108+
non-boolean value in the same way as a non-broken test. ([#47804])
109+
* When a call to `@test` fails or errors inside a function, a larger stacktrace is now printed such that the location of the test within a `@testset` can be retrieved ([#49451])
110+
111+
#### InteractiveUtils
112+
113+
* `code_native` and `@code_native` now default to intel syntax instead of AT&T.
114+
* `@time_imports` now shows the timing of any module `__init__()`s that are run ([#49529])
115+
1116
Julia v1.9 Release Notes
2117
========================
3118

NEWS.md

Lines changed: 1 addition & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,141 +1,57 @@
1-
Julia v1.10 Release Notes
1+
Julia v1.11 Release Notes
22
========================
33

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

7-
* JuliaSyntax.jl is now used as the default parser, providing better diagnostics and faster
8-
parsing. Set environment variable `JULIA_USE_NEW_PARSER` to `0` to switch back to the old
9-
parser if necessary (and if you find this necessary, please file an issue) ([#46372]).
10-
* `` (U+297A, `\leftarrowsubset`) and `` (U+2977, `\leftarrowless`)
11-
may now be used as binary operators with arrow precedence. ([#45962])
12-
137
Language changes
148
----------------
159

16-
* When a task forks a child, the parent task's task-local RNG (random number generator) is no longer affected. The seeding of child based on the parent task also takes a more disciplined approach to collision resistance, using a design based on the SplitMix and DotMix splittable RNG schemes ([#49110]).
17-
* A new more-specific rule for methods resolves ambiguities containing Union{} in favor of
18-
the method defined explicitly to handle the Union{} argument. This makes it possible to
19-
define methods to explicitly handle Union{} without the ambiguities that commonly would
20-
result previously. This also lets the runtime optimize certain method lookups in a way
21-
that significantly improves load and inference times for heavily overloaded methods that
22-
dispatch on Types (such as traits and constructors).
23-
* The "h bar" `` (`\hslash` U+210F) character is now treated as equivalent to `ħ` (`\hbar` U+0127).
24-
* The `@simd` macro now has a more limited and clearer semantics, it only enables reordering and contraction
25-
of floating-point operations, instead of turning on all "fastmath" optimizations.
26-
If you observe performance regressions due to this change, you can recover previous behavior with `@fastmath @simd`,
27-
if you are OK with all the optimizations enabled by the `@fastmath` macro. ([#49405])
28-
* When a method with keyword arguments is displayed in the stack trace view, the textual
29-
representation of the keyword arguments' types is simplified using the new
30-
`@Kwargs{key1::Type1, ...}` macro syntax ([#49959]).
31-
3210
Compiler/Runtime improvements
3311
-----------------------------
3412

35-
* The `@pure` macro is now deprecated. Use `Base.@assume_effects :foldable` instead ([#48682]).
36-
* The mark phase of the Garbage Collector is now multi-threaded ([#48600]).
37-
* [JITLink](https://llvm.org/docs/JITLink.html) is enabled by default on Linux aarch64 when Julia is linked to LLVM 15 or later versions ([#49745]).
38-
This should resolve many segmentation faults previously observed on this platform.
39-
4013
Command-line option changes
4114
---------------------------
4215

43-
* New option `--gcthreads` to set how many threads will be used by the Garbage Collector ([#48600]).
44-
The default is set to `N/2` where `N` is the amount of worker threads (`--threads`) used by Julia.
45-
4616
Multi-threading changes
4717
-----------------------
4818

49-
5019
Build system changes
5120
--------------------
5221

53-
5422
New library functions
5523
---------------------
56-
* `tanpi` is now defined. It computes tan(πx) more accurately than `tan(pi*x)` ([#48575]).
57-
* `fourthroot(x)` is now defined in `Base.Math` and can be used to compute the fourth root of `x`.
58-
It can also be accessed using the unicode character ``, which can be typed by `\fourthroot<tab>` ([#48899]).
59-
* `Libc.memmove`, `Libc.memset`, and `Libc.memcpy` are now defined, whose functionality matches that of their respective C calls.
60-
* `Base.isprecompiled(pkg::PkgId)` to identify whether a package has already been precompiled ([#50218]).
6124

6225
New library features
6326
--------------------
64-
* The `initialized=true` keyword assignment for `sortperm!` and `partialsortperm!`
65-
is now a no-op ([#47979]). It previously exposed unsafe behavior ([#47977]).
66-
* `binomial(x, k)` now supports non-integer `x` ([#48124]).
67-
* A `CartesianIndex` is now treated as a "scalar" for broadcasting ([#47044]).
68-
* `printstyled` now supports italic output ([#45164]).
69-
* `parent` and `parentindices` support `SubString`s
7027

7128
Standard library changes
7229
------------------------
7330

74-
* `startswith` now supports seekable `IO` streams ([#43055])
75-
* printing integral `Rational`s will skip the denominator in `Rational`-typed IO context (e.g. in `Arrays`) ([#45396])
76-
7731
#### Package Manager
7832

79-
* `Pkg.precompile` now accepts `timing` as a keyword argument which displays per package timing information for precompilation (e.g. `Pkg.precompile(timing=true)`)
80-
8133
#### LinearAlgebra
8234

83-
* `AbstractQ` no longer subtypes to `AbstractMatrix`. Moreover, `adjoint(Q::AbstractQ)`
84-
no longer wraps `Q` in an `Adjoint` type, but instead in an `AdjointQ`, that itself
85-
subtypes `AbstractQ`. This change accounts for the fact that typically `AbstractQ`
86-
instances behave like function-based, matrix-backed linear operators, and hence don't
87-
allow for efficient indexing. Also, many `AbstractQ` types can act on vectors/matrices
88-
of different size, acting like a matrix with context-dependent size. With this change,
89-
`AbstractQ` has a well-defined API that is described in detail in the
90-
[Julia documentation](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#man-linalg-abstractq)
91-
([#46196]).
92-
* Adjoints and transposes of `Factorization` objects are no longer wrapped in `Adjoint`
93-
and `Transpose` wrappers, respectively. Instead, they are wrapped in
94-
`AdjointFactorization` and `TranposeFactorization` types, which themselves subtype
95-
`Factorization` ([#46874]).
96-
* New functions `hermitianpart` and `hermitianpart!` for extracting the Hermitian
97-
(real symmetric) part of a matrix ([#31836]).
98-
* The `norm` of the adjoint or transpose of an `AbstractMatrix` now returns the norm of the
99-
parent matrix by default, matching the current behaviour for `AbstractVector`s ([#49020]).
100-
* `eigen(A, B)` and `eigvals(A, B)`, where one of `A` or `B` is symmetric or Hermitian,
101-
are now fully supported ([#49533])
102-
* `eigvals/eigen(A, cholesky(B))` now computes the generalized eigenvalues (`eigen`: and eigenvectors)
103-
of `A` and `B` via Cholesky decomposition for positive definite `B`. Note: The second argument is
104-
the output of `cholesky`.
105-
10635
#### Printf
107-
* Format specifiers now support dynamic width and precision, e.g. `%*s` and `%*.*g` ([#40105]).
10836

10937
#### Profile
11038

111-
11239
#### Random
11340

114-
11541
#### REPL
11642

117-
* When stack traces are printed, the printed depth of types in function signatures will be limited
118-
to avoid overly verbose output ([#49795]).
119-
12043
#### SuiteSparse
12144

12245

12346
#### SparseArrays
12447

125-
12648
#### Test
12749

128-
129-
* The `@test_broken` macro (or `@test` with `broken=true`) now complains if the test expression returns a
130-
non-boolean value in the same way as a non-broken test. ([#47804])
131-
* When a call to `@test` fails or errors inside a function, a larger stacktrace is now printed such that the location of the test within a `@testset` can be retrieved ([#49451])
132-
13350
#### Dates
13451

13552

13653
#### Distributed
13754

138-
13955
#### Unicode
14056

14157

@@ -144,17 +60,13 @@ Standard library changes
14460

14561
#### InteractiveUtils
14662

147-
* `code_native` and `@code_native` now default to intel syntax instead of AT&T.
148-
* `@time_imports` now shows the timing of any module `__init__()`s that are run ([#49529])
149-
15063
Deprecated or removed
15164
---------------------
15265

15366

15467
External dependencies
15568
---------------------
15669

157-
15870
Tooling Improvements
15971
--------------------
16072

VERSION

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

0 commit comments

Comments
 (0)