# ANN: METADATA frozen for Julia 0.4

**URL:** <https://discourse.julialang.org/t/ann-metadata-frozen-for-julia-0-4/7110>\
**Category:** Community\
**Tags:** announcement\
**Created:** [November 16, 2017, 9:26pm UTC](https://discourse.julialang.org/t/ann-metadata-frozen-for-julia-0-4/7110 "2017-11-16T21:26:41Z")\
**Posts on this page:** 6\
**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:** [November 16, 2017, 9:26pm UTC](https://discourse.julialang.org/t/ann-metadata-frozen-for-julia-0-4/7110/1 "2017-11-16T21:26:41Z")

</div>

Julia’s METADATA package repository has been frozen for Julia 0.4. This means that new packages and tags cannot be registered if they list `julia 0.4` in the requires file. The minimum allowed version of Julia for new registrations is 0.5.0.

Another consequence of going through this process is that allowing prereleases for the current release version (i.e. specifying `julia 0.6-` in requires) is no longer allowed for new registrations. Please use `julia 0.6` instead.

In case you’re not entirely familiar with how Julia’s package version resolution works, I’ll note that previous package tags should _not_ be changed; users who for whatever reason are still on Julia 0.4 will still be able to install packages, they just won’t get the newest versions.

---

<div class="post-metadata">

**Author:** ![garrison](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/garrison/32/209519_2.png) [@garrison](https://discourse.julialang.org/u/garrison)\
**Post date:** [November 16, 2017, 9:52pm UTC](https://discourse.julialang.org/t/ann-metadata-frozen-for-julia-0-4/7110/2 "2017-11-16T21:52:04Z")

</div>

> [@ararslan](#):
>
> This means that new packages and tags cannot be registered if they list julia 0.4 in the requires file.

If a package lists `julia 0.4` (or even `julia 0.3`) in the `REQUIRE` file, should this be changed to `julia 0.5`, or should the line simply be removed?

---

<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:** [November 16, 2017, 10:10pm UTC](https://discourse.julialang.org/t/ann-metadata-frozen-for-julia-0-4/7110/3 "2017-11-16T22:10:55Z")

</div>

REQUIRE files always need a `julia <min>` line. Before the package is registered, or if it’s already registered then before it’s tagged next, REQUIRE will need to be updated to at least `julia 0.5` in order for it to be accepted into METADATA. Existing tags should not be altered.

---

<div class="post-metadata">

**Author:** ![garrison](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/garrison/32/209519_2.png) [@garrison](https://discourse.julialang.org/u/garrison)\
**Post date:** [November 16, 2017, 11:38pm UTC](https://discourse.julialang.org/t/ann-metadata-frozen-for-julia-0-4/7110/4 "2017-11-16T23:38:58Z")

</div>

> [@ararslan](#):
>
> REQUIRE files always need a julia \<min\> line.

`Pkg.test()` can succeed for a package that lacks such a line. Should this be considered a bug?

Also, this is inconsistent with the documentation, which says (emphasis mine):

> You _should_ have a `REQUIRE` file in your package repository, with a bare minimum directive of what Julia version you expect your users to be running for the package to work.

Of course, updating the line to say `julia 0.5` in a package that is known to support julia 0.3 seems to contradict this recommendation. I’m fine with this for now, as long as it is planned to never freeze METADATA for versions 1.0 or higher.

---

<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:** [November 17, 2017, 8:55am UTC](https://discourse.julialang.org/t/ann-metadata-frozen-for-julia-0-4/7110/5 "2017-11-17T08:55:03Z")

</div>

> [@ararslan](#):
>
> The minimum allowed version of Julia for new registrations is 0.5.0.

Just curious, why not `0.6.1`? What would be the rationale of writing a new package for `0.5.0` at this point for public use?

---

<div class="post-metadata">

**Author:** ![avik](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/avik/32/17_2.png) [@avik](https://discourse.julialang.org/u/avik)\
**Post date:** [November 17, 2017, 11:18am UTC](https://discourse.julialang.org/t/ann-metadata-frozen-for-julia-0-4/7110/6 "2017-11-17T11:18:24Z")

</div>

There are plenty of 0.5 users out there, and package authors might want to maintain and upgrade packages for those users. The freeze applies not just to new packages, but also tags of existing packages.

For 0.4, if there is need for any particular package, I’m sure exceptions can be granted. However, we know most packages do not work on 0.4 any more, and we do not want package authors to continue to use the old declarations simply out of inertia. That is the primary goal of this freeze.
