# Package version numbering in the case of language update

**URL:** <https://discourse.julialang.org/t/package-version-numbering-in-the-case-of-language-update/14640>\
**Category:** Community\
**Tags:** question\
**Created:** [September 6, 2018, 8:42pm UTC](https://discourse.julialang.org/t/package-version-numbering-in-the-case-of-language-update/14640 "2018-09-06T20:42:30Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![lostella](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lostella/32/356_2.png) [@lostella](https://discourse.julialang.org/u/lostella)\
**Post date:** [September 6, 2018, 8:42pm UTC](https://discourse.julialang.org/t/package-version-numbering-in-the-case-of-language-update/14640/1 "2018-09-06T20:42:30Z")

</div>

With the recent release of Julia 1.0, I’m facing the following question: as I upgrade my packages to support the latest version of Julia, how should I increase their version number? According to [semantic versioning](https://semver.org/)

> Given a version number MAJOR.MINOR.PATCH, increment the:  
> MAJOR version when you make incompatible API changes,  
> MINOR version when you add functionality in a backwards-compatible manner, and  
> PATCH version when you make backwards-compatible bug fixes.

It doesn’t seem to me like these specification cover the particular case of language updates. What is the general feeling here about this? Which number should be increased?

---

<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:** [September 6, 2018, 8:44pm UTC](https://discourse.julialang.org/t/package-version-numbering-in-the-case-of-language-update/14640/2 "2018-09-06T20:44:31Z")

</div>

Registering a new version of your package that drops support for earlier Julia versions require at least a minor version bump. (Thats what most packages have done so far.)

---

<div class="post-metadata">

**Author:** ![felipenoris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/felipenoris/32/553_2.png) [@felipenoris](https://discourse.julialang.org/u/felipenoris)\
**Post date:** [October 8, 2018, 4:44am UTC](https://discourse.julialang.org/t/package-version-numbering-in-the-case-of-language-update/14640/3 "2018-10-08T04:44:03Z")

</div>

Before Julia 1.0 there was a recommendation to package developers to be conservative in version numbering, so most of the packages were numbered with versions \< v"1.0".

I guess now it doesn’t make sense anymore.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [October 8, 2018, 6:50am UTC](https://discourse.julialang.org/t/package-version-numbering-in-the-case-of-language-update/14640/4 "2018-10-08T06:50:41Z")

</div>

I guess it still makes sense for packages to start with `v0.1.0` (as generated by default with `pkg> generate`) and increment gradually, going to `v1.0.0` when the package has reached maturity. This should be independent of whether the language itself has reached a `v1` release.
