# Adding a package bumps another to a seemingly breaking release

**URL:** https://discourse.julialang.org/t/adding-a-package-bumps-another-to-a-seemingly-breaking-release/79971
**Category:** General Usage
**Tags:** package
**Created:** [April 25, 2022, 7:34am UTC](https://discourse.julialang.org/t/adding-a-package-bumps-another-to-a-seemingly-breaking-release/79971 "2022-04-25T07:34:24Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![jishnub](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jishnub/32/33620_2.png) [@jishnub](https://discourse.julialang.org/u/jishnub)
#### Post date: [April 25, 2022, 7:34am UTC](https://discourse.julialang.org/t/adding-a-package-bumps-another-to-a-seemingly-breaking-release/79971/1 "2022-04-25T07:34:24Z")

</div>

```julia
(@v1.7) pkg> activate --temp
  Activating new project at `/tmp/jl_TmSumB`

(jl_TmSumB) pkg> add TensorKit@0.9
    Updating registry at `~/.julia/registries/General`
    Updating git-repo `https://github.com/JuliaRegistries/General.git`
   Resolving package versions...
    Updating `/tmp/jl_TmSumB/Project.toml`
  [07d1fe3e] + TensorKit v0.9.1
    Updating `/tmp/jl_TmSumB/Manifest.toml`
  [621f4979] + AbstractFFTs v1.1.0
  [79e6a3ab] + Adapt v3.3.3
  [ab4f0b2a] + BFloat16s v0.2.0
  [fa961155] + CEnum v0.4.2
  [052768ef] + CUDA v3.9.0
  [d360d2e6] + ChainRulesCore v1.14.0
  [9e997f8a] + ChangesOfVariables v0.1.2
  [34da2185] + Compat v3.43.0
  [ffbed154] + DocStringExtensions v0.8.6
  [e2ba6199] + ExprTools v0.1.8
  [0c68f7d7] + GPUArrays v8.3.2
  [61eb1bfa] + GPUCompiler v0.14.1
  [f0d1745a] + HalfIntegers v1.4.3
  [3587e190] + InverseFunctions v0.1.3
  [92d709cd] + IrrationalConstants v0.1.1
  [692b3bcd] + JLLWrappers v1.4.1
  [929cbde3] + LLVM v4.9.1
  [8ac3fa9e] + LRUCache v1.3.0
  [2ab3a3ac] + LogExpFunctions v0.3.12
  [21216c6a] + Preferences v1.3.0
  [27ebfcd6] + Primes v0.4.0
  [74087812] + Random123 v1.5.0
  [e6cf234a] + RandomNumbers v1.5.3
  [308eb6b3] + RationalRoots v0.1.0
  [189a3867] + Reexport v1.2.2
  [ae029012] + Requires v1.3.0
  [276daf66] + SpecialFunctions v2.1.4
  [5e0ebb24] + Strided v1.2.1
  [07d1fe3e] + TensorKit v0.9.1
  [6aa20fa7] + TensorOperations v3.2.4
  [a759f4b9] + TimerOutputs v0.5.17
  [9d95972d] + TupleTools v1.3.0
  [9f57e263] + WignerSymbols v1.1.0
  [dad2f222] + LLVMExtra_jll v0.0.14+2
  [efe28fd5] + OpenSpecFun_jll v0.5.5+0
  [0dad84c5] + ArgTools
  [56f22d72] + Artifacts
  [2a0f44e3] + Base64
  [ade2ca70] + Dates
  [8bb1440f] + DelimitedFiles
  [8ba89e20] + Distributed
  [f43a241f] + Downloads
  [b77e0a4c] + InteractiveUtils
  [4af54fe1] + LazyArtifacts
  [b27032c2] + LibCURL
  [76f85450] + LibGit2
  [8f399da3] + Libdl
  [37e2e46d] + LinearAlgebra
  [56ddb016] + Logging
  [d6f4376e] + Markdown
  [a63ad114] + Mmap
  [ca575930] + NetworkOptions
  [44cfe95a] + Pkg
  [de0858da] + Printf
  [3fa0cd96] + REPL
  [9a3f8284] + Random
  [ea8e919c] + SHA
  [9e88b42a] + Serialization
  [1a1011a3] + SharedArrays
  [6462fe0b] + Sockets
  [2f01184e] + SparseArrays
  [10745b16] + Statistics
  [fa267f1f] + TOML
  [a4e569a6] + Tar
  [8dfed614] + Test
  [cf7118a7] + UUIDs
  [4ec0a83e] + Unicode
  [e66e0078] + CompilerSupportLibraries_jll
  [deac9b47] + LibCURL_jll
  [29816b5a] + LibSSH2_jll
  [c8ffd9c3] + MbedTLS_jll
  [14a3606d] + MozillaCACerts_jll
  [4536629a] + OpenBLAS_jll
  [05823500] + OpenLibm_jll
  [83775a58] + Zlib_jll
  [8e850b90] + libblastrampoline_jll
  [8e850ede] + nghttp2_jll
  [3f19e933] + p7zip_jll
Precompiling project...
  1 dependency successfully precompiled in 3 seconds (41 already precompiled)

(jl_TmSumB) pkg> add WignerSymbols@2.0.0
   Resolving package versions...
    Updating `/tmp/jl_TmSumB/Project.toml`
  [07d1fe3e] ↑ TensorKit v0.9.1 ⇒ v0.10.0
  [9f57e263] + WignerSymbols v2.0.0
    Updating `/tmp/jl_TmSumB/Manifest.toml`
  [18e54dd8] + IntegerMathUtils v0.1.0
  [27ebfcd6] ↑ Primes v0.4.0 ⇒ v0.5.2
  [308eb6b3] ↑ RationalRoots v0.1.0 ⇒ v0.2.0
  [07d1fe3e] ↑ TensorKit v0.9.1 ⇒ v0.10.0
  [9f57e263] ↑ WignerSymbols v1.1.0 ⇒ v2.0.0

(jl_TmSumB) pkg> st
      Status `/tmp/jl_TmSumB/Project.toml`
  [07d1fe3e] TensorKit v0.10.0
  [9f57e263] WignerSymbols v2.0.0

```

I’m unsure why `TensorKit` is bumped from `0.9` to `0.10` here? Isn’t this a potentially breaking upgrade?

---

<div class="post-metadata">

### Author: ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)
#### Post date: [April 25, 2022, 7:43am UTC](https://discourse.julialang.org/t/adding-a-package-bumps-another-to-a-seemingly-breaking-release/79971/2 "2022-04-25T07:43:23Z")

</div>

> [@jishnub](#):
>
> `TensorKit` is bumped from `0.9` to `0.10` here? Isn’t this a potentially breaking upgrade?

~~According to semver, no. Minor version adds functionality and should not be breaking.~~  
(see below)

---

<div class="post-metadata">

### Author: ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)
#### Post date: [April 25, 2022, 7:44am UTC](https://discourse.julialang.org/t/adding-a-package-bumps-another-to-a-seemingly-breaking-release/79971/3 "2022-04-25T07:44:55Z")

</div>

The issue here is that `pkg> add TensorKit@0.9` doesn’t add a `[compat]` entry, so subsequent Pkg operations can do whatever they want. IIRC this may be fixed on Julia 1.8, but in the meantime you can add the corresponding compat entry by hand.

---

<div class="post-metadata">

### Author: ![carstenbauer](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/carstenbauer/32/4981_2.png) [@carstenbauer](https://discourse.julialang.org/u/carstenbauer)
#### Post date: [April 25, 2022, 7:47am UTC](https://discourse.julialang.org/t/adding-a-package-bumps-another-to-a-seemingly-breaking-release/79971/4 "2022-04-25T07:47:45Z")

</div>

That’s correct for versions \>=1.0. For \<1.0 though, minor releases are considered breaking as well (because typically you’re breaking much more often in the early phase). See, e.g., [10. Project.toml and Manifest.toml · Pkg.jl](https://pkgdocs.julialang.org/v1/toml-files/#The-version-field) and [6. Compatibility · Pkg.jl](https://pkgdocs.julialang.org/v1/compatibility/#compat-pre-1.0)

As to the original question, you could try pinning TensorKit, i.e. `] pin TensorKit`.

---

<div class="post-metadata">

### Author: ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)
#### Post date: [April 25, 2022, 7:48am UTC](https://discourse.julialang.org/t/adding-a-package-bumps-another-to-a-seemingly-breaking-release/79971/5 "2022-04-25T07:48:38Z")

</div>

> [@carstenbauer](#):
>
> minor releases are considered breaking as well

Oh, didn’t know that. Thanks for clarifying.
