Julia v1.6.0-rc1 is now available

The Julia developers are pleased to announce that the first release candidate for Julia v1.6.0 is now available. You can download binaries at https://julialang.org/downloads in the “upcoming release” section for macOS, FreeBSD (x86-64), Windows (32-, 64-bit), glibc Linux (i686, x86-64, AArch64, PowerPC), and musl Linux (x86-64). Check out the NEWS file to see what will be new in 1.6.0.

As a release candidate, this should not be considered production-ready. Rather, it’s intended to give users, especially package developers, a chance to try our their code with 1.6.0 prior to a full release. Note that 1.6 on Travis, AppVeyor, and Cirrus now refers to 1.6.0-rc1. This will be the case for GitHub Actions soon as well.

Let us know in the issue tracker if you run into any issues. Please note that any bugs you may encounter should be posted there rather than being discussed in this thread to ensure visibility to the developers.

98 Likes

thanks

发自我的iPhone

1 Like

Just a couple of notes regarding GitHub Actions:

  1. It will take approximately 24 hours for 1.6.0-rc1 to become available on GitHub Actions.
  2. In order to use 1.6.0-rc1 on GitHub Actions, you must set your version specifier to "^1.6.0-0".
16 Likes

Are there really 32-bit users out there for Julia?

Are there really 32-bit users out there for Julia?

There are, e.g. on ARMv7-a.

Are there really 32-bit users out there for Julia?

And Linux i686 is a very convenient platform for CI-testing packages on 32-bit in general. This catches problems in the code like implicit assumptions that Int is 64-bit wide.

7 Likes

That’s a nice CI ‘trick’.

I played a bit with code on many areas, using tens of different packages, on Juno, running it on Julia 1.3 and 1.6… and Julia 1.6 is damn more reactive… it isn’t just the precompilation on installstion, all code evaluation seems much faster… Bravo to the dev team !
As others have said, this is the first release that cover the small nuisances that however matter the most…

16 Likes

Could we make 1.6 also download the release candidate? That would make it a lot easier for folks that maintain a lot of packages to start testing this, because we could just once now add 1.6 to our version matrix, and not have to update things again when 1.6 is released. I also see no real benefit of not having 1.6 download the RC during a time when no released build of 1.6 is out there.

8 Likes

I do think that this would be a nice feature to add.

@saschamann can probably speak to whether or not this would be feasible.

I think one of the issues is that we currently use node-semver for parsing version specifiers.

FWIW, when 1.6 is released, the version specifier "^1.6.0-0" will automatically switch to using the latest stable 1.6.x release.

1 Like

Will Julia 1.6 have a smaller sysimage as this is release blocking?

1.6 will likely not have a smaller sysimage and the issue there isn’t really related to that.

I have observed a huge performance regression with Zygote. I have filed an issue on Zygote.jl.

1 Like

It’s not easily possible without having to consider a large number of edge cases, hard-coding the version or assuming things about versions that may not always be true. At least I haven’t been able to come up with a nice solution. Happy to accept suggestions or PRs though. I’d also like 1.6 to work with RCs without breaking other things.

As Dilum said, you can already do this with the tilde or caret ranges and -0 (or -rc1). See the action’s README or this demo in a JS REPL for examples. It doesn’t look as nice as only having 1.6 but functionally it’s the same.

2 Likes

:julia: :whale: :julia: :whale: :julia: :whale: :julia: :whale: :julia: :whale: :julia: :whale:
As I see - the julia 1.6.0-rc1 docker image is ready !!!

available 1.6-rc1 tags:

quick test:

docker pull julia:1.6.0-rc1-buster
docker run -it --rm julia:1.6.0-rc1-buster

expected:

# docker run -it --rm julia:1.6.0-rc1-buster
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.6.0-rc1 (2021-02-06)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia> versioninfo()
Julia Version 1.6.0-rc1
Commit a58bdd9010 (2021-02-06 15:49 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, broadwell)
Environment:
  JULIA_PATH = /usr/local/julia
  JULIA_GPG = 3673DF529D9049477F76B37566E3C7DC03D6E495
  JULIA_VERSION = 1.6.0-rc1

important links:

disclaimer: I am only the messenger + power user

:julia: :whale: :julia: :whale: :julia: :whale: :julia: :whale: :julia: :whale: :julia: :whale:

1 Like

If you want to run Jupyterlab 3 on that image, type:

docker pull statisticalmice/julia-jupyter:1.6-buster
docker run -it --rm -p 8888:8888 statisticalmice/julia-jupyter:1.6-buster

expected:

docker run -it --rm -p 8888:8888 statisticalmice/julia-jupyter:1.6-buster
[I 2021-02-09 09:18:44.330 ServerApp] jupyterlab | extension was successfully linked.
[I 2021-02-09 09:18:44.340 ServerApp] Writing notebook server cookie secret to /home/arthur/.local/share/jupyter/runtime/jupyter_cookie_secret
[I 2021-02-09 09:18:44.510 ServerApp] nbclassic | extension was successfully linked.
[I 2021-02-09 09:18:44.554 LabApp] JupyterLab extension loaded from /home/arthur/miniconda3/lib/python3.8/site-packages/jupyterlab
[I 2021-02-09 09:18:44.554 LabApp] JupyterLab application directory is /home/arthur/miniconda3/share/jupyter/lab
[I 2021-02-09 09:18:44.558 ServerApp] jupyterlab | extension was successfully loaded.
[I 2021-02-09 09:18:44.562 ServerApp] nbclassic | extension was successfully loaded.
[I 2021-02-09 09:18:44.562 ServerApp] Serving notebooks from local directory: /home/arthur
[I 2021-02-09 09:18:44.562 ServerApp] Jupyter Server 1.3.0 is running at:
[I 2021-02-09 09:18:44.563 ServerApp] http://608b0ec5f5ee:8888/lab?token=8b96f8a81cb2e16ed2de3c356568e9f273f7a36a938d1876
[I 2021-02-09 09:18:44.563 ServerApp]  or http://127.0.0.1:8888/lab?token=8b96f8a81cb2e16ed2de3c356568e9f273f7a36a938d1876
[I 2021-02-09 09:18:44.563 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 2021-02-09 09:18:44.566 ServerApp] No web browser found: could not locate runnable browser.
[C 2021-02-09 09:18:44.566 ServerApp] 
    
    To access the server, open this file in a browser:
        file:///home/arthur/.local/share/jupyter/runtime/jpserver-1-open.html
    Or copy and paste one of these URLs:
        http://608b0ec5f5ee:8888/lab?token=8b96f8a81cb2e16ed2de3c356568e9f273f7a36a938d1876
     or http://127.0.0.1:8888/lab?token=8b96f8a81cb2e16ed2de3c356568e9f273f7a36a938d1876

Open the link on the last line in a web browser.

2 Likes

Above,
I have mentioned a performance regression in Flux. I have created a MWE

using Flux
x = randn(Float32, 10, 10);
m = Dense(10,10);
ps = Flux.params(m);

Julia Version 1.5.3 (2020-11-09)

julia> @time gradient(() -> sum(m(x)), ps);
 17.617517 seconds (34.79 M allocations: 1.751 GiB, 4.65% gc time)

julia> @time gradient(() -> sum(m(x)), ps);
  0.082247 seconds (54.12 k allocations: 2.698 MiB)

Julia Version 1.6.0-rc1 (2021-02-06)

julia> @time gradient(() -> sum(m(x)), ps);
 26.537819 seconds (53.83 M allocations: 2.920 GiB, 3.72% gc time, 92.62% compilation time)

julia> @time gradient(() -> sum(m(x)), ps);
  0.094459 seconds (64.25 k allocations: 3.549 MiB, 99.41% compilation time)
1 Like

I have created an issue

4 Likes

Just got this from a CI failure on 1.6.0. CI passed on 1.5 and the nightly. Using github actions for CI. All was well when I did CI this morning. running on macOS-latest - x64 .

Run julia-actions/setup-julia@v1
6
Error: Checksum of downloaded file does not match the expected checksum from versions.json.
7
Expected: dafa3431861b8aa4a82f0885f84b21a39332f1e931c09660af70ad25a716eec8
8
Got: 7e6a0298eebe48d408279c6f99cb5df575b39097c44846971e5851a4daf25f0a

Anyone know what’s happening? Should I create an issue?