# Very fancy package updating 1.6

**URL:** <https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227>\
**Category:** General Usage\
**Created:** [December 3, 2020, 11:31pm UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227 "2020-12-03T23:31:26Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [December 3, 2020, 11:31pm UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/1 "2020-12-03T23:31:26Z")

</div>

Animated progress. Beautiful!

 ![image](https://global.discourse-cdn.com/julialang/original/3X/4/7/47c603a6bdfd66fdeef59128d9d4449d24920158.png)

---

<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:** [December 3, 2020, 11:42pm UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/2 "2020-12-03T23:42:47Z")

</div>

It isn’t just fancy, it’s also faster as precompilation is now parallel:

[![](https://global.discourse-cdn.com/julialang/original/3X/3/b/3b103c970a1405c43591763e99968e793c567503.jpeg "Julia 1.5 vs. Julia 1.6 precompilation speed (no audio)") ](https://www.youtube.com/watch?v=9SHuhIGfVDg)

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [December 3, 2020, 11:42pm UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/3 "2020-12-03T23:42:49Z")

</div>

Yeah. Combine that with the parallel precompilation and much better loading times, and it is a really great release. (also the other color work for things like `@code_native` etc are so nice). Really 1.6 feels like the first julia version where we finally added all the nice to have things that don’t fundamentally change anything, but just make the whole language more of a joy to use.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [December 3, 2020, 11:48pm UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/4 "2020-12-03T23:48:57Z")

</div>

Indeed, I noticed. Nice!!!

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [December 3, 2020, 11:56pm UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/5 "2020-12-03T23:56:40Z")

</div>

Pre-compilation occurs during instalation, right? (Instead of in the first `using`) If so, that makes much more sense and improves a lot the first impression.

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [December 3, 2020, 11:59pm UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/6 "2020-12-03T23:59:10Z")

</div>

It can be a little bit annoying as if you add `n` packages independently, you can end up with `O(n^2)` precompile, but it’s a pretty good balance. The best time for precompile might actually be when exiting `dev` mode, but that would probably be annoying to implement.

---

<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:** [December 4, 2020, 12:00am UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/7 "2020-12-04T00:00:24Z")

</div>

It isn’t instead: precompilation now happens automatically after most `Pkg` operations, but if for example you modify a `dev`ed package, at the next restart it’ll be precompiled again at `using` time. It’s just that now it’s less likely that a package isn’t precompiled when you `using` it

---

<div class="post-metadata">

**Author:** ![ctkelley](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ctkelley/32/10684_2.png) [@ctkelley](https://discourse.julialang.org/u/ctkelley)\
**Post date:** [December 4, 2020, 1:10am UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/8 "2020-12-04T01:10:07Z")

</div>

@PetrKryslUCSD Are you using 1.6 for your day-to-day work? If so, any problems?

---

<div class="post-metadata">

**Author:** ![stillyslalom](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stillyslalom/32/45687_2.png) [@stillyslalom](https://discourse.julialang.org/u/stillyslalom)\
**Post date:** [December 4, 2020, 1:35am UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/9 "2020-12-04T01:35:11Z")

</div>

I’ve been using v1.6 for day-to-day work for a month or so. I’m primarily on Windows, so [this](https://github.com/JuliaLang/julia/issues/38409) issue pushed me to work with a Linux v1.6 binary installed on WSL2, but it seems to be fixed now that [this](https://github.com/JuliaLang/julia/pull/38347#event-4060258373) PR’s been merged. Julia’s Linux binaries are typically the most robust, since many of the core devs use it as their primary platform.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [December 4, 2020, 1:42am UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/10 "2020-12-04T01:42:07Z")

</div>

Not yet. I had to wait for LoopVectorization to catch up.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [December 4, 2020, 1:46am UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/11 "2020-12-04T01:46:13Z")

</div>

Update: it looks like I will have to wait a little bit longer. 1.6 has some difficulties installing/updating the registry on Windows 10. [https://github.com/JuliaLang/julia/issues/38691](https://github.com/JuliaLang/julia/issues/38691)

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [December 5, 2020, 6:54pm UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/12 "2020-12-05T18:54:47Z")

</div>

If you happen to depend on `LoopVectorization`, 1.6 is still out of reach, since this package hasn’t been updated yet.

---

<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:** [December 5, 2020, 10:29pm UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/13 "2020-12-05T22:29:30Z")

</div>

LoopVectorization 0.9 works on 1.6 (but the Windows registry issue could be another show stopper until it gets fixed).

---

<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:** [December 5, 2020, 11:21pm UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/14 "2020-12-05T23:21:34Z")

</div>

Downloads are much faster too since we use libcurl and can share and reuse TCP+TLS connections.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [December 6, 2020, 12:08am UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/15 "2020-12-06T00:08:17Z")

</div>

You are right. Sorry. It is the damn dependencies: it pulled 8.2.6, which I thought was okay. But apparently the new one is 0.9…

I will then rephrase my previously stated opinion: we need some way of detecting newer package versions.

---

<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:** [December 6, 2020, 12:30am UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/16 "2020-12-06T00:30:41Z")

</div>

> [@PetrKryslUCSD](#):
>
> we need some way of detecting newer package versions.

What do you mean?

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [December 6, 2020, 12:36am UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/17 "2020-12-06T00:36:11Z")

</div>

So the case here is FinEtools.jl when run in 1.6 needs LoopVectorization 0.9. But in 1.5 it needs 0.8.  
And, when tested in 1.6, the test fails, because 0.8 LoopVectorization is requested.

So, it would be helpful if I could run a command say `Pkg.newer()` that would detect all newer versions of the packages requested in the current environment. I believe that `Pkg.update()` will not do that, since it is quite happy to report that given the requirements in the project, all packages are okay.

---

<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:** [December 6, 2020, 12:41am UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/18 "2020-12-06T00:41:23Z")

</div>

> [@PetrKryslUCSD](#):
>
> So, it would be helpful if I could run a command say `Pkg.newer()` that would detect all newer versions of the packages requested in the current environment. I believe that `Pkg.update()` will not do that, since it is quite happy to report that given the requirements in the project, all packages are okay.

It isn’t a matter of “detecting” new versions, `Pkg.update` updates the registry and is already aware of all new versions. However, `Pkg.update` respects all compatibility requirements in your environment. If it doesn’t update a package to a newer version, probably it’s because something else is holding it back because of compatibility bounds. What would be useful is a tool to easily investigate why a package is held back.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [December 6, 2020, 12:43am UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/19 "2020-12-06T00:43:22Z")

</div>

Are you sure? If the project asks for 0.8, are you certain that if 0.9 is available it will update? I haven’t seen that.

---

<div class="post-metadata">

**Author:** ![Oscar\_Smith](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oscar_smith/32/25343_2.png) [@Oscar\_Smith](https://discourse.julialang.org/u/Oscar_Smith)\
**Post date:** [December 6, 2020, 12:47am UTC](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227/20 "2020-12-06T00:47:30Z")

</div>

One possible fix would be for `up` to give warnings for packages that don’t get their newest release installed (or maybe their newest feature release according to semvar)

[Next page](https://discourse.julialang.org/t/very-fancy-package-updating-1-6/51227.md?page=2)
