# Skip version 0.5

**URL:** <https://discourse.julialang.org/t/skip-version-0-5/1595>\
**Category:** General Usage\
**Created:** [January 19, 2017, 6:13pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595 "2017-01-19T18:13:36Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [January 19, 2017, 6:13pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595/1 "2017-01-19T18:13:36Z")

</div>

I am using Julia version 0.4.7 and wish to upgrade to 0.6 in due time.  
Is it possible to skip version 0.5, or I will miss important deprecation warnings?

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [January 19, 2017, 6:20pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595/2 "2017-01-19T18:20:22Z")

</div>

v0.5 compatibility is almost v0.6 compatibility. I think it’s easier to just transition to v0.5 compatibility first.

---

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [January 20, 2017, 3:57pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595/3 "2017-01-20T15:57:34Z")

</div>

Thanks.

> v0.5 compatibility is almost v0.6 compatibility.

This hints that the single-step upgrade is in fact possible.

> I think it’s easier to just transition to v0.5 compatibility first.

This suggests to choose the two-step upgrade.

It is still unclear to me if I will miss important deprecation warnings  
if I choose the 0.4.7–\>0.6 single-step upgrade.

---

<div class="post-metadata">

**Author:** ![johnmyleswhite](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnmyleswhite/32/31_2.png) [@johnmyleswhite](https://discourse.julialang.org/u/johnmyleswhite)\
**Post date:** [January 20, 2017, 3:59pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595/4 "2017-01-20T15:59:25Z")

</div>

As far I as know, you will miss warnings because the typical Julia development rule is that one version issues deprecations and the next version removes the deprecated feature completely. So you’ll get errors instead of warnings.

It’s your call whether you want errors or warnings.

---

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [January 20, 2017, 4:04pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595/5 "2017-01-20T16:04:42Z")

</div>

Thanks for the clarification.

As I will have to change my code anyway,  
maybe the error messages will be clear enough to do this.

---

<div class="post-metadata">

**Author:** ![ScottPJones](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/scottpjones/32/146_2.png) [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Post date:** [January 20, 2017, 4:08pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595/6 "2017-01-20T16:08:44Z")

</div>

The problem is that there might be cases where you get neither errors or warnings, but rather silently get different results.  
Consider how `String` was an abstract type in v0.3, was deprecated in v0.4, and is a concrete type in v0.5.  
Skipping directly from v0.3 to v0.5 would make people miss places where they should have changed `String` to `AbstractString`, and then things might break further down the road if for example if they get passed a `SubString` instead of `String`.

---

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [January 20, 2017, 4:11pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595/7 "2017-01-20T16:11:47Z")

</div>

Thank you for the warning.  
Do you know similar dangers going from 0.4.7 to 0.6 ?

---

<div class="post-metadata">

**Author:** ![tknopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tknopp/32/3569_2.png) [@tknopp](https://discourse.julialang.org/u/tknopp)\
**Post date:** [January 20, 2017, 4:40pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595/8 "2017-01-20T16:40:20Z")

</div>

There are only downsides switching directly from 0.4x to 0.6. We recommend you not to do this. There will be very rare experience in such a transition so you will be quite alone when you don’t want to go the recommended route.

---

<div class="post-metadata">

**Author:** ![ScottPJones](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/scottpjones/32/146_2.png) [@ScottPJones](https://discourse.julialang.org/u/ScottPJones)\
**Post date:** [January 20, 2017, 4:45pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595/9 "2017-01-20T16:45:21Z")

</div>

We are currently doing the transition from v0.4.7 to v0.5 (but at the same time, testing on v0.6 master, so that hopefully, whatever changes we make, will only have to be done once), but I haven’t run into such yet (but I’m sure some are lurking there!)  
Simultaneously testing on both (and accepting that v0.6 is a moving target) I think would be the best bet, if you want to switch to v0.6 as soon as possible after it is released.

---

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [January 20, 2017, 5:30pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595/10 "2017-01-20T17:30:49Z")

</div>

message taken:  
_the one-step upgrade from 0.4.7 to 0.6 is not recommended_

---

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [January 20, 2017, 5:39pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595/11 "2017-01-20T17:39:23Z")

</div>

Good to know that the upgrade from 0.4.7 to 0.5.0 is worth the investment,  
and the next upgrade from 0.5.0 to 0.6 will not be the same amount of work.

Last remark:  
I was somewhat reluctant to switch to 0.5.0  
because I was waiting for 0.5.x maintenance upgrades.  
Of course this is not a complaint, just a turtle’s attitude.

---

<div class="post-metadata">

**Author:** ![tknopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tknopp/32/3569_2.png) [@tknopp](https://discourse.julialang.org/u/tknopp)\
**Post date:** [January 20, 2017, 5:47pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595/12 "2017-01-20T17:47:42Z")

</div>

- Currently nobody can predict how much effort it will be to switch from 0.5 to 0.6. Deprecations can be removed quite late in the release cycle.

- That there were no maintenance upgrades during 0.5 does not mean anything. 0.5.0 is/was pretty stable, so no need to wait for 0.5.x releases.

---

<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:** [February 13, 2017, 5:13pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595/13 "2017-02-13T17:13:42Z")

</div>

You should upgrade _through_ 0.5 even if you’re upgrading to 0.6. In other words, run your code on 0.5 and get rid of all deprecation warnings and fix breakages. Then do the same for 0.6. This should not be all that difficult or take that long as long for the language itself. Packages are likely to cause more problems than language changes.

---

<div class="post-metadata">

**Author:** ![turtle](https://avatars.discourse-cdn.com/v4/letter/t/ecb155/32.png) [@turtle](https://discourse.julialang.org/u/turtle)\
**Post date:** [February 13, 2017, 5:28pm UTC](https://discourse.julialang.org/t/skip-version-0-5/1595/14 "2017-02-13T17:28:38Z")

</div>

Thanks.  
Now I will definitely follow the 0.4.7-\>0.5.0-\>0.6.0 upgrade path.
