# Update Project.toml compat entries in Pluto

**URL:** https://discourse.julialang.org/t/update-project-toml-compat-entries-in-pluto/86396
**Category:** Pluto
**Created:** [August 26, 2022, 4:50pm UTC](https://discourse.julialang.org/t/update-project-toml-compat-entries-in-pluto/86396 "2022-08-26T16:50:41Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Jake](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jake/32/46007_2.png) [@Jake](https://discourse.julialang.org/u/Jake)
#### Post date: [August 26, 2022, 4:50pm UTC](https://discourse.julialang.org/t/update-project-toml-compat-entries-in-pluto/86396/1 "2022-08-26T16:50:41Z")

</div>

I have a Pluto notebook created in Julia 1.5 and then used in 1.6. It includes a Project.toml and Manifest.toml in the jl file.

With Julia 1.8 there were a lot of errors. I then did a Pkg.update within Pluto and it got rid of the errors. However some of the packages cannot update to the most current version because of compat entries.

The [documentation](https://plutojl-preview.netlify.app/docs/packages/) says to look for the up arrow in the circle to update packages. I cannot find this up arrow in a circle, and even if I can, I am not sure that this will enable editing the compat entries. I am looking for a way to do update the compat entries from within the Pluto environment.

The compat section of the file as viewed in a text editor shows

```julia
[compat]
CSV = "~0.9.4"
FFTW = "~1.4.5"
Plots = "~1.22.2"
PlutoUI = "~0.7.11"
Tables = "~1.5.2"
"""

```

The command within Pluto

```julia
Pkg.status(; outdated=true)

```

gives the results

```julia
Status `C:\Users\jakez\AppData\Local\Temp\jl_oBv0nu\Project.toml`
⌅ [336ed68f] CSV v0.9.11 (<v0.10.4) [compat]
⌅ [7a1cc6ca] FFTW v1.4.6 (<v1.5.0) [compat]
⌅ [91a5bcdd] Plots v1.22.7 (<v1.31.7) [compat]
⌅ [bd369af6] Tables v1.5.2 (<v1.7.0) [compat]

```

Thanks in advance

---

<div class="post-metadata">

### Author: ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)
#### Post date: [August 26, 2022, 6:32pm UTC](https://discourse.julialang.org/t/update-project-toml-compat-entries-in-pluto/86396/2 "2022-08-26T18:32:41Z")

</div>

I _think_ you should be pretty safe [editing the compat entries](https://pkgdocs.julialang.org/v1/compatibility/) manually, and then [updating the notebook environment](https://github.com/fonsp/Pluto.jl/wiki/%F0%9F%8E%81-Package-management#advanced-edit-the-notebook-environment) again.

---

<div class="post-metadata">

### Author: ![Jake](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jake/32/46007_2.png) [@Jake](https://discourse.julialang.org/u/Jake)
#### Post date: [August 26, 2022, 7:35pm UTC](https://discourse.julialang.org/t/update-project-toml-compat-entries-in-pluto/86396/3 "2022-08-26T19:35:33Z")

</div>

Thanks, I did edit them manually based on the compat manual section you referenced. I removed the tilde’s and the quotes at the end of the lines like this.

```julia
[compat]
CSV = "0.9
FFTW = "1.4
Plots = "1.22
PlutoUI = "0.7
Tables = "1.5
"""

```

I then loaded the notebook again and did Pkg.update() and Pkg.resolve() though I don’t think I need to do that. When I looked in the compat section of the file the packages updated but the tildes and quotes came back as shown:

```julia
[compat]
CSV = "~0.10.4"
FFTW = "~1.5.0"
Plots = "~1.31.7"
PlutoUI = "~0.7.39"
Tables = "~1.7.0"
"""

```

Then I removed the Compat section from the project.toml and it continues to work.

---

<div class="post-metadata">

### Author: ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)
#### Post date: [August 27, 2022, 12:43pm UTC](https://discourse.julialang.org/t/update-project-toml-compat-entries-in-pluto/86396/4 "2022-08-27T12:43:45Z")

</div>

I think Pluto automatically adds tilde specifier to improve environment reproducibility, since they are more restrictive than caret specifiers. So the errors probably come from compatibility issues between the packages: what kind of errors are they?
