-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Backports for 1.11.2 #56228
Backports for 1.11.2 #56228
Conversation
Other changes: * replace `:total` with the less powerful `:foldable` * add an `<:Integer` dispatch constraint on the `rationalize` method, closes #55872 * replace `Rational{<:Integer}` with just `Rational`, they're equal Other issues, related to `BigFloat` precision, are still present in irrationals.jl, to be fixed by followup PRs, including #55853. Fixes #55874 (cherry picked from commit d60837f)
Avoids the ``` 11: signature Tuple{typeof(convert), Type{String}, Any} triggered MethodInstance for Base.Precompilation.ExplicitEnv(::String) (84 children) ``` shown in #56080 (comment) Co-authored-by: KristofferC <kristoffer.carlsson@juliacomputing.com> (cherry picked from commit dc609a7)
Avoids the invalidation ``` backedges: 1: superseding sizeof(s::AbstractString) @ Base strings/basic.jl:177 with MethodInstance for sizeof(::AbstractString) (75 children) ``` shown in #56080 (comment). Co-authored-by: KristofferC <kristoffer.carlsson@juliacomputing.com> (cherry picked from commit 9844d85)
Documenter.jl requires all trailing list content to follow the same indentation as the header. So, in the current view (https://docs.julialang.org/en/v1/manual/installation/#Command-line-arguments) the list appears broken. (cherry picked from commit 9f92989)
Closes #56109 Simulating a bad manifest by having `LibGit2_jll` missing as a dep of `LibGit2` in my default env, say because the manifest was generated by a different julia version or different master julia commit. ## This PR, it just works ``` julia> using Revise julia> ``` i.e. ``` % JULIA_DEBUG=loading ./julia --startup-file=no julia> using Revise ... ┌ Debug: Stdlib LibGit2 [76f85450-5226-5b5a-8eaa-529ad045b433] is trying to load `LibGit2_jll` │ which is not listed as a dep in the load path manifests, so resorting to search │ in the stdlib Project.tomls for true deps └ @ Base loading.jl:387 ┌ Debug: LibGit2 [76f85450-5226-5b5a-8eaa-529ad045b433] indeed depends on LibGit2_jll in project /Users/ian/Documents/GitHub/julia/usr/share/julia/stdlib/v1.12/LibGit2/Project.toml └ @ Base loading.jl:395 ... julia> ``` ## Master ``` julia> using Revise Info Given Revise was explicitly requested, output will be shown live ERROR: LoadError: ArgumentError: Package LibGit2 does not have LibGit2_jll in its dependencies: - Note that the following manifests in the load path were resolved with a potentially different DEV version of the current version, which may be the cause of the error. Try to re-resolve them in the current version, or consider deleting them if that fails: /Users/ian/.julia/environments/v1.12/Manifest.toml - You may have a partially installed environment. Try `Pkg.instantiate()` to ensure all packages in the environment are installed. - Or, if you have LibGit2 checked out for development and have added LibGit2_jll as a dependency but haven't updated your primary environment's manifest file, try `Pkg.resolve()`. - Otherwise you may need to report an issue with LibGit2 ... ``` (cherry picked from commit b02d671)
…56159) These are invalidated by our own stdlibs (Dates and REPL) unfortunately so we need to put this barrier in. This fix is _very_ un-satisfying, because it doesn't do anything to solve this problem for downstream libraries that use e.g. `displaysize`. To fix that, I think we need a way to make sure callers get these invalidation barriers by default... (cherry picked from commit 9223088)
…6089) Fix https://github.com/JuliaLang/julia/issues/56085 by calling a newly created `MulAddMul` object that only wraps the `alpha` (with `beta` set to `false`). This avoids the explicit multiplication if `alpha` is known to be `isone`. (cherry picked from commit 0af99e6)
This bump contains the following commits: a5b1174 * Adjust to change of annotations type in Base d9d7472 * Adopt Base's annotated types/functions as API da41b6a * Call load_customisations! automatically, lazily af972e0 * Fix markdown syntax in "Mark API as experimental" 8332e45 * Mark API as Experimental cfcfe8c * Fix syntax of generated CSS c82409c * Remove tag wrapping from HTML show method 03211c9 * Small optimisation to single-interpolation styled d080103 * Improve type stability within styled"" macro 448314b * More meticulously check indices in eachregion 02cd20b * Consistent Face hashes
This change by itself doesn't do anything significant on `master`, but when backported to the v1.11 branch it'll address #56177. However it'd be great if someone could tell _why_ this fixes that issue, because it looks very unrelated. --------- Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> (cherry picked from commit f36f342)
Falling back to the older serial precompilation process is basically a bug (except for if a manifest hasn't been resolved) so #52619 added more info on why it's been hit so we have a chance of fixing issues that are otherwise very difficult to recreate. However "invalid header" which usually just means it was made by a different julia version appears to sound too alarming to users. https://discourse.julialang.org/t/cache-misses-when-using-packages-since-upgrading-to-1-11/121445 So soften it there and in error messages, given it seems a better description. Suggested by @giordano in https://discourse.julialang.org/t/cache-misses-when-using-packages-since-upgrading-to-1-11/121445/4?u=ianshmean (cherry picked from commit aa51abe)
…st_throws (#56231) Fix #54082 Arguably this was a breaking change (as a consequence of #51979). But regardless, it seems like useful functionality to have a public API for testing that an `UndefVarError` was thrown for the expected variable name (regardless of scope). This is particularly useful if you don't know what the scope is (for example, in my use-case i want to test that a specific `UndefVarError` is thrown from a module with a `gensym`'d name). Pre-v1.11 the syntax for this was ```julia @test_throws UndefVarError(:x) foo() ``` but that stopped working in v1.11 when `UndefVarError` got a second field (in fact in v1.11.1 this is an error when before it would pass) This PR restores that functionality. We might want to backport it to v1.11.x so that v1.11 isn't the only version that doesn't support this. (cherry picked from commit b0c1525)
We currently never remove asserts but I still think this is not a good practice. (cherry picked from commit 8e67f99)
Signed-off-by: alongdate <alongyear@outlook.com> (cherry picked from commit 2f90962)
I tried to cherry-pick #56214 here but it's a bit tricky because precompilepkgs has changed a fair bit with the workspaces support, which isn't on 1.11. (I did add two minor backports that help reduce the merge conflicts though.) I highlight that as I think it's something we'd want to get in here. cc. @vtjnash |
…b6e99 (#56261) Stdlib: Pkg URL: https://github.com/JuliaLang/Pkg.jl.git Stdlib branch: release-1.11 Julia branch: backports-release-1.11 Old commit: aba90d22b New commit: 9438b6e99 Julia version: 1.11.1 Pkg version: 1.11.0(Does not match) Bump invoked by: @IanButterworth Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: JuliaLang/Pkg.jl@aba90d2...9438b6e ``` $ git log --oneline aba90d22b..9438b6e99 9438b6e99 Merge pull request #4055 from JuliaLang/backports-release-1.11 c83160aac REPLExt: use Base.isaccessibledir rather than isdir in completions (#4053) 7997ec320 REPLExt: run repl hint generation for modeswitch chars when not switching (#4054) ``` Co-authored-by: Dilum Aluthge <dilum@aluthge.com>
@IanButterworth, I attempted a cherry-pick as well. It seems to work ok. |
#56369) Before (in an environment with DifferentialEquations.jl): ```julia julia> @time Pkg.precompile() 0.733576 seconds (3.44 M allocations: 283.676 MiB, 6.24% gc time) julia> isfile_calls[1:10] 10-element Vector{Pair{String, Int64}}: "/home/kc/.julia/juliaup/julia-nightly/share/julia/compiled/v1.12/Printf/3FQLY_zHycD.ji" => 178 "/home/kc/.julia/juliaup/julia-nightly/share/julia/compiled/v1.12/Printf/3FQLY_xxrt3.ji" => 178 "/home/kc/.julia/juliaup/julia-nightly/share/julia/compiled/v1.12/Dates/p8See_xxrt3.ji" => 158 "/home/kc/.julia/juliaup/julia-nightly/share/julia/compiled/v1.12/Dates/p8See_zHycD.ji" => 158 "/home/kc/.julia/juliaup/julia-nightly/share/julia/compiled/v1.12/TOML/mjrwE_zHycD.ji" => 155 "/home/kc/.julia/juliaup/julia-nightly/share/julia/compiled/v1.12/TOML/mjrwE_xxrt3.ji" => 155 "/home/kc/.julia/compiled/v1.12/Preferences/pWSk8_4Qv86.ji" => 152 "/home/kc/.julia/compiled/v1.12/Preferences/pWSk8_juhqb.ji" => 152 "/home/kc/.julia/juliaup/julia-nightly/share/julia/compiled/v1.12/StyledStrings/UcVoM_zHycD.ji" => 144 "/home/kc/.julia/juliaup/julia-nightly/share/julia/compiled/v1.12/StyledStrings/UcVoM_xxrt3.ji" => 144 ``` After: ```julia julia> @time Pkg.precompile() 0.460077 seconds (877.59 k allocations: 108.075 MiB, 4.77% gc time) julia> isfile_calls[1:10] 10-element Vector{Pair{String, Int64}}: "/tmp/jl_a5xFWK/Project.toml" => 15 "/tmp/jl_a5xFWK/Manifest.toml" => 7 "/home/kc/.julia/registries/General.toml" => 6 "/home/kc/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/Markdown/src/Markdown.jl" => 3 "/home/kc/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/Serialization/src/Serialization.jl" => 3 "/home/kc/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/Distributed/src/Distributed.jl" => 3 "/home/kc/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/UUIDs/src/UUIDs.jl" => 3 "/home/kc/.julia/juliaup/julia-nightly/share/julia/stdlib/v1.12/LibCURL/src/LibCURL.jl" => 3 ``` Performance is improved and we are not calling `isfile` on a bunch of the same ji files hundreds times. Benchmark is made on a linux machine so performance diff should be a lot better on Windows where these `isfile_casesensitive` call is much more expensive. Fixes #56366 --------- Co-authored-by: KristofferC <kristoffer.carlsson@juliacomputing.com> Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> (cherry picked from commit 9850a38)
At the moment this is rendered incorrectly: https://docs.julialang.org/en/v1.11.1/devdocs/llvm-passes/#JuliaLICM (cherry picked from commit a9342d6)
Follow up to #56392: also the warning in https://docs.julialang.org/en/v1.11.1/devdocs/llvm-passes/#Multiversioning is rendered incorrectly because of a missing space. (cherry picked from commit 3de1b1d)
currentlu this route is mentioned in docs https://docs.julialang.org/en/v1/stdlib/Profile/#Triggered-During-Execution but missing from the module docstring, this should help users who have little idea how to "send a kernel signal to a process" to get started --------- Co-authored-by: Ian Butterworth <i.r.butterworth@gmail.com> (cherry picked from commit 9af0dea)
Okay, let's run another PkgEval and then not merge too much in here so we can fix the possible regressions and get this out. @nanosoldier |
The package evaluation job you requested has completed - possible new issues were detected. |
If we expect this to be a public API (https://github.com/timholy/Revise.jl for some reason is trying to access this state), we should lock around it for consistency with the other similar functions. Needed for timholy/Revise.jl#856 (cherry picked from commit 4cdd864)
I think the latest backport should fix Revise |
@nanosoldier |
Is #56077 fixed on this with the latest backports? |
Doesn't look like it, the PR that fixes it seems quite big to backport... |
Kristoffer in another PR (but intended for here):
JuliaSyntaxHighligting shouldn't be included as a 1.11 stdlib though? Unless you're talking about the general-released package, which indeed needs me to backport the changes to a new release. |
Yes. |
Before releasing v1.11.2, i.e., after we merge this here, we should first merge JuliaSparse/SparseArrays.jl#571 and then bump SparseArrays.jl on the release-v1.11 branch. |
The package evaluation job you requested has completed - possible new issues were detected. |
…to 2420351 (#56608) Stdlib: SparseArrays URL: https://github.com/JuliaSparse/SparseArrays.jl.git Stdlib branch: release-1.11 Julia branch: backports-release-1.11 Old commit: cb602d7 New commit: 2420351 Julia version: 1.11.1 SparseArrays version: 1.11.0(Does not match) Bump invoked by: @dkarrasch Powered by: [BumpStdlibs.jl](https://github.com/JuliaLang/BumpStdlibs.jl) Diff: JuliaSparse/SparseArrays.jl@cb602d7...2420351 ``` $ git log --oneline cb602d7..2420351 2420351 Allow for duplicate docstrings in linalg docs (#584) 0a1c886 Merge pull request #571 from JuliaSparse/backports-release-1.11 298f5e1 Break recursion (#579) 7bc65ab Update CI fcc6102 Do not use nested dissection by default. (#550) 8534357 Update ci.yml: run CI and docs on v1.11 66d65fd Change default QR tolerance to match SPQR (#557) 8a48327 test: Don't use GPL module when Base.USE_GPL_LIBS=false (#535) 8dd8300 SparseMatrixCSC constructor with a Tuple of Integers (#523) aa66624 doc: move solvers doc to `src\solvers.md` (#576) 8a85fbe Inline sparse-times-dense in-place multiplication ``` Co-authored-by: Dilum Aluthge <dilum@aluthge.com>
…ies (#56624) This is a slimmed-down version of #55910, without any of the re-factoring. This improves the parallelism of the pre-compile job and fixes a correctness bug, where unconditionally injecting a dependency after its parent could be in conflict with dependencies in between triggers, causing false extension cycles. Without this fix, adding `AMDGPU.jl` and `Tracker.jl` reports a false cycle on 1.11
Backported PRs:
hash
doc string:widen
not required any more #55867Base.ANSIIterator
have a concrete field #56088JULIA_CPU_TARGET
being propagated to workers precompiling stdlib pkgimages #54093convert(String, ...)
in several places #56174displaysize
andimplicit_typeinfo
#56159MulAddMul
instead of multiplication in _generic_matmatmul! #56089promote_type
forIrrational
#55870rand
during sysimage precompilation #56227rdiv!
withLU
#55764Need manual backport:
Contains multiple commits, manual intervention needed:
Non-merged PRs with backport label:
(pop-handler-list ...)
#55871@ccallable
name before JIT registration #55813displaysize
to theIOContext
used by the REPL #55499isfile_casesensitive
fixes on Windows #55220propertynames
for SVD respects private argument #55169String(::Memory)
copy #54457@inbounds
andBase.@propagate_inbounds
#50157