# UUID in Project.toml

**URL:** <https://discourse.julialang.org/t/uuid-in-project-toml/97576>\
**Category:** Performance\
**Created:** [April 17, 2023, 3:12pm UTC](https://discourse.julialang.org/t/uuid-in-project-toml/97576 "2023-04-17T15:12:20Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![erlebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/erlebach/32/12973_2.png) [@erlebach](https://discourse.julialang.org/u/erlebach)\
**Post date:** [April 17, 2023, 3:12pm UTC](https://discourse.julialang.org/t/uuid-in-project-toml/97576/1 "2023-04-17T15:12:20Z")

</div>

In a Project.toml files, the structure is a series of rows containing Module name and UUID. For example:

```julia
[deps]
ArgMacros = "dbc42088-9de8-42a0-8ec8-2cd114e1ea3e"
BSON = "fbb218c0-5317-5bc6-957e-2ee96dd4b1f0"
BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"

```

This `Project.toml` file was created under Julia1.8. I now regenerate the Manifest.toml (after removing the previous one) under Julia1.9rc2.

What exactly does the UUID refer to? A specific source version? How does one upgrade to the latest package version? Use the `update` command under the Pkg manager? Thanks!

---

<div class="post-metadata">

**Author:** ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)\
**Post date:** [April 17, 2023, 3:29pm UTC](https://discourse.julialang.org/t/uuid-in-project-toml/97576/2 "2023-04-17T15:29:42Z")

</div>

> [@erlebach](#):
>
> What exactly does the UUID refer to?

The UUID is the same as you can find in the `Project.toml` of respective dependency and refers to the package itself. The reason why there is an UUID is that Pkg is designed for the possibility of multiple packages with the same name; i.e. the UUID is the identity of the package.

> [@erlebach](#):
>
> A specific source version?

No, the specific version is encoded in the `tree-hash` field in `Manifest.toml`.

> [@erlebach](#):
>
> How does one upgrade to the latest package version? Use the `update` command under the Pkg manager?

Yes. However, if there are conflicts among the dependencies you might end up with some which are not the latest version. (This also happens if your own compat does not allow the latest version of some dependency.)

---

<div class="post-metadata">

**Author:** ![erlebach](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/erlebach/32/12973_2.png) [@erlebach](https://discourse.julialang.org/u/erlebach)\
**Post date:** [April 17, 2023, 3:42pm UTC](https://discourse.julialang.org/t/uuid-in-project-toml/97576/3 "2023-04-17T15:42:59Z")

</div>

Thanks!
