# Julia v1.7.0-beta2 is now available

**URL:** https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408
**Category:** Announcements
**Tags:** release
**Created:** [June 23, 2021, 12:54am UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408 "2021-06-23T00:54:36Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![ararslan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ararslan/32/3825_2.png) [@ararslan](https://discourse.julialang.org/u/ararslan)
#### Post date: [June 23, 2021, 12:54am UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/1 "2021-06-23T00:54:36Z")

</div>

The Julia developers are pleased to announce that Julia v1.7.0 is now in beta, and binaries for v1.7.0-beta2 are available now. You can get them at [https://julialang.org/downloads](https://julialang.org/downloads) in the “upcoming release” section for macOS (x86-64), FreeBSD (x86-64), Windows (32-, 64-bit), and glibc Linux (i686, x86-64, AArch64, PowerPC). Check out the [NEWS file](https://github.com/JuliaLang/julia/blob/v1.7.0-beta2/NEWS.md) to see what will be new in 1.7.0.

As a beta version, 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.7.0 prior to a full release. Note that 1.7 on Travis, [AppVeyor](https://github.com/JuliaCI/Appveyor.jl), [Cirrus](https://github.com/ararslan/CirrusCI.jl), and ([soon](https://github.com/SaschaMann/Julia-versions.json/actions/runs/962643148)) [GitHub Actions](https://github.com/julia-actions/setup-julia) now refers to 1.7.0-beta2.

Let us know in the [issue tracker](https://github.com/JuliaLang/julia/issues) 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.

---

<div class="post-metadata">

### Author: ![fonsp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fonsp/32/222349_2.png) [@fonsp](https://discourse.julialang.org/u/fonsp)
#### Post date: [June 23, 2021, 9:39am UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/2 "2021-06-23T09:39:08Z")

</div>

Awesome! How do I use it with GitHub actions? Just `1.7` as version is not working for me right now: [workflow](https://github.com/fonsp/Pluto.jl/runs/2892746735?check_suite_focus=true#step:3:6)

---

<div class="post-metadata">

### Author: ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)
#### Post date: [June 23, 2021, 9:54am UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/3 "2021-06-23T09:54:34Z")

</div>

Quoting from README of the [`setup-julia`](https://github.com/julia-actions/setup-julia/blob/a12d4d2f6d780a4176e7f7f000059ec2e211b287/README.md#examples) workflow:

> `^1.3.0-0` is a **caret** version range that includes _all_ pre-releases. It matches all versions `≥ 1.3.0-` and `< 2.0.0` .

So you want to do

```yaml
"^1.7.0-0"

```

---

<div class="post-metadata">

### Author: ![stephenll](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stephenll/32/28751_2.png) [@stephenll](https://discourse.julialang.org/u/stephenll)
#### Post date: [June 23, 2021, 11:49am UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/4 "2021-06-23T11:49:09Z")

</div>

**Wow!** I did a quick test and this works so much faster and better than previous releases. No more slow jump-ahead for the twister rng and no need to assign a task the rng explicitly to guarantee reproducibility.

> Every `Task` object has a local random number generator state, providing reproducible (schedule-independent) execution of parallel simulation code by default.

---

<div class="post-metadata">

### Author: ![NiclasMattsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/niclasmattsson/32/21988_2.png) [@NiclasMattsson](https://discourse.julialang.org/u/NiclasMattsson)
#### Post date: [June 23, 2021, 12:09pm UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/5 "2021-06-23T12:09:12Z")

</div>

```julia
df[(remembering .> parens) .& (was .< crucial)] #v1.6

df[this .> is .&& absolutely .< brilliant] #v1.7

```

**Thank you** @mbauman for [#39594](https://github.com/JuliaLang/julia/pull/39594).

---

<div class="post-metadata">

### Author: ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)
#### Post date: [June 23, 2021, 12:14pm UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/6 "2021-06-23T12:14:13Z")

</div>

Yeah, this is a pretty huge release for multithreaded PRNG usage. Courtesy of [chethega](https://github.com/chethega) (I should probably know his Discourse user name, but I don’t) [initially](https://github.com/JuliaLang/julia/pull/34852) and pushed over the [finish](https://github.com/JuliaLang/julia/pull/40546) line by @jeff.bezanson, with much assistance from @rfourquet. The down side is that the default RNG now produces a totally different stream of values from previous releases, but it seems worth the potential disruption to get such a huge increase in PRNG speed and concurrency.

---

<div class="post-metadata">

### Author: ![stephenll](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stephenll/32/28751_2.png) [@stephenll](https://discourse.julialang.org/u/stephenll)
#### Post date: [June 23, 2021, 12:45pm UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/7 "2021-06-23T12:45:57Z")

</div>

Personally I think it is totally worth it. I see my c# devs write so much code to deal with this situation.

I think I may have found a bug when running the same code on a single threaded instance in Julia and an instance with 4 cores.

I would think since each task has a local random number generator state, that it shouldn’t matter how many cores I’m using.

The numbers start off the same but diverge. Not sure if coincidence, but the ones that match are all on thread 1.

```julia
using Random
N = 10

Random.seed!(1234);

# Any because I was experimenting with gathering task local info not just doubles.
x = Array{Any}(undef, N)

Threads.@threads for i in 1:N
	x[i] = rand()
end

```

One thread:

```julia
julia> x
10-element Vector{Any}:
 0.8521319181373054
 0.7689799548530378
 0.6243499745554029
 0.3293649906351931
 0.9990226080289056
 0.24044820241363107
 0.0192236627448511
 0.6335674481579363
 0.7846641780713622
 0.25749532080682724

```

Julia -t 4

```julia
julia> x
10-element Vector{Any}:
 0.8521319181373054
 0.7689799548530378
 0.6243499745554029
 0.4129780578067782
 0.5739657632171419
 0.9755932386001536
 0.6278063483588922
 0.9986465688348583
 0.5105042328844386
 0.7418532936197424

```

---

<div class="post-metadata">

### Author: ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)
#### Post date: [June 23, 2021, 12:56pm UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/8 "2021-06-23T12:56:39Z")

</div>

Different RNGs per thread means different random numbers per thread - the collection is partitioned and subsequently each thread fills its respective section with random numbers from its RNG.

---

<div class="post-metadata">

### Author: ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)
#### Post date: [June 23, 2021, 12:59pm UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/9 "2021-06-23T12:59:17Z")

</div>

> [@stephenll](#):
>
> Personally I think it is totally worth it.

Glad to hear it! We thought so too. We’ve also been warning people for a long time now that the default PRNG sequence should not be relied on to be stable, so hopefully those warnings have helped a bit. My guess is that there are packages (and other code) that are relying on this for tests and with this breakage they will hopefully switch to using [StableRNGs.jl](https://github.com/JuliaRandom/StableRNGs.jl) which _can_ be relied on to produce the same PRNG sequence forever.

---

<div class="post-metadata">

### Author: ![stephenll](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stephenll/32/28751_2.png) [@stephenll](https://discourse.julialang.org/u/stephenll)
#### Post date: [June 23, 2021, 1:02pm UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/10 "2021-06-23T13:02:24Z")

</div>

I thought because the Tasks where given their own local random number generator state in 1.7 beta, that the number of threads wouldn’t matter.

---

<div class="post-metadata">

### Author: ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)
#### Post date: [June 23, 2021, 1:08pm UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/11 "2021-06-23T13:08:52Z")

</div>

The number of tasks that `@threads` generates depends on the number of threads. If you did something like this instead, you get the expected result:

```julia
for i in 1:N
    Threads.@spawn x[i] = rand()
end

```

This produces the same values no matter the number of threads. This is not what the `@threads` macro does, however: it splits the range of the for loop into as many blocks as you have threads and then creates a task for each of them. This pattern is much more efficient because creating tasks is not free. It’s quite cheap but not free.

---

<div class="post-metadata">

### Author: ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)
#### Post date: [June 24, 2021, 3:31pm UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/12 "2021-06-24T15:31:18Z")

</div>

10 posts were split to a new topic: [What are the current plans regarding a new LTS Julia version?](https://discourse.julialang.org/t/what-are-the-current-plans-regarding-a-new-lts-julia-version/63501)

---

<div class="post-metadata">

### Author: ![Elrod](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/elrod/32/22461_2.png) [@Elrod](https://discourse.julialang.org/u/Elrod)
#### Post date: [June 23, 2021, 2:09pm UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/15 "2021-06-23T14:09:07Z")

</div>

> [@StefanKarpinski](#):
>
> Courtesy of [chethega](https://github.com/chethega) (I should probably know his Discourse user name, but I don’t)

@foobar_lv2 ?

---

<div class="post-metadata">

### Author: ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)
#### Post date: [June 23, 2021, 4:47pm UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/21 "2021-06-23T16:47:02Z")

</div>

This post was temporarily hidden by the community for possibly being off-topic, unfocused, inappropriate, or spammy.

---

<div class="post-metadata">

### Author: ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)
#### Post date: [June 23, 2021, 5:01pm UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/22 "2021-06-23T17:01:52Z")

</div>

Ah yes! I forgot that was his user name here. Sorry, @foobar_lv2!

---

<div class="post-metadata">

### Author: ![sapo](https://avatars.discourse-cdn.com/v4/letter/s/ec9cab/32.png) [@sapo](https://discourse.julialang.org/u/sapo)
#### Post date: [June 24, 2021, 7:56am UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/25 "2021-06-24T07:56:37Z")

</div>

Hope `Cxx` will support it!

---

<div class="post-metadata">

### Author: ![mmcilrath](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mmcilrath/32/26682_2.png) [@mmcilrath](https://discourse.julialang.org/u/mmcilrath)
#### Post date: [July 1, 2021, 7:51pm UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/27 "2021-07-01T19:51:03Z")

</div>

Is there documentation for this version?

---

<div class="post-metadata">

### Author: ![ianshmean](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ianshmean/32/216042_2.png) [@ianshmean](https://discourse.julialang.org/u/ianshmean)
#### Post date: [July 2, 2021, 9:34pm UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/28 "2021-07-02T21:34:19Z")

</div>

I think this is the closest thing before proper 1.7.0 release, but it doesn’t get picked up by the docs version selector dropdown for some reason  
[https://docs.julialang.org/en/v1.7-dev/](https://docs.julialang.org/en/v1.7-dev/)

---

<div class="post-metadata">

### Author: ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)
#### Post date: [July 3, 2021, 8:29am UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/29 "2021-07-03T08:29:57Z")

</div>

> [@mmcilrath](#):
>
> Is there documentation for this version?

[https://docs.julialang.org](https://docs.julialang.org) is the documentation for every Julia 1.X. Documentation is not built for beta releases, but once there is a release candidate (rc) that should show up in the selector.

---

<div class="post-metadata">

### Author: ![Iagoba\_Apellaniz](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/iagoba_apellaniz/32/34406_2.png) [@Iagoba\_Apellaniz](https://discourse.julialang.org/u/Iagoba_Apellaniz)
#### Post date: [July 4, 2021, 9:02am UTC](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408/30 "2021-07-04T09:02:09Z")

</div>

Meanwhile I think it is worth to check the [History](“julia/HISTORY.md at master · JuliaLang/julia · GitHub” [https://github.com/JuliaLang/julia/blob/master/HISTORY.md](https://github.com/JuliaLang/julia/blob/master/HISTORY.md)).

[Next page](https://discourse.julialang.org/t/julia-v1-7-0-beta2-is-now-available/63408.md?page=2)
