# Please be mindful of version bounds and semantic versioning when tagging your packages

**URL:** <https://discourse.julialang.org/t/please-be-mindful-of-version-bounds-and-semantic-versioning-when-tagging-your-packages/30708>\
**Category:** Community\
**Created:** [November 4, 2019, 6:53pm UTC](https://discourse.julialang.org/t/please-be-mindful-of-version-bounds-and-semantic-versioning-when-tagging-your-packages/30708 "2019-11-04T18:53:20Z")\
**Posts on this page:** 1\
**Showing post:** 103

<div class="post-metadata">

**Author:** ![tkf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkf/32/17635_2.png) [@tkf](https://discourse.julialang.org/u/tkf)\
**Post date:** [November 7, 2019, 2:31am UTC](https://discourse.julialang.org/t/please-be-mindful-of-version-bounds-and-semantic-versioning-when-tagging-your-packages/30708/103 "2019-11-07T02:31:50Z")

</div>

Not sure if this is already mentioned already, but the [auto-merge condition](https://discourse.julialang.org/t/announcement-automatic-merging-for-the-general-registry/29961) does not disallow you to have:

```julia
[compat]
UpstreamPackage = "0"

```

(But I’m not sure if this is an overlook of the auto-merge condition or my misinterpretation.)

It still introduces the upper bound. But, if the upstream declares that their API is stable (in [a “real sense”](https://discourse.julialang.org/t/how-can-we-encourage-julia-package-developers-to-release-version-1-0-0/29124/5)), you should be fine with bounding the major version.

IIUC, this “solution” works now, without any additional tools.

A downside is that lower bounding this way is impossible (at least until the [version range](https://github.com/JuliaLang/Pkg.jl/pull/1410) is implemented). However, given that `Pkg.update` and `Pkg.add` is rather aggressive ATM, that’s probably not the problem. Also, since package authors effectively declaring that they don’t care about compatibility by using `= "0"`, it’s probably OK for them to not encoding any kind of compatibility information. (If they care UX a bit more, it’s not hard to emit warning via ` __init__ `. It’s probably easy to create SoftCompat.jl to warp it in an easier interface.)

Having said that, I’m not sure if `= "0"` is the right direction. CompatHelper.jl seems to be a much better solution once it is stabilized and more things are automated.

---

_[View the full topic](https://discourse.julialang.org/t/please-be-mindful-of-version-bounds-and-semantic-versioning-when-tagging-your-packages/30708)._
