# Switching package registration systems soon

**URL:** <https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677>\
**Category:** Announcements\
**Tags:** package-manager\
**Created:** [April 3, 2019, 6:48am UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677 "2019-04-03T06:48:03Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [April 4, 2019, 7:33pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/61 "2019-04-04T19:33:40Z")

</div>

There’s some debate about that. First, note that if it does have a manifest it is ignored when the package is used as a dependency—only the top-level manifest matters. So the only effect of having a manifest checked in is to provide a record of what versions of dependencies a package has been developed and tested with. I think that recording that is quite valuable and therefore support having a manifest as well as a project file. However other pkg devs disagree (@fredrikekre iirc at least). I think that time will tell.

---

<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:** [April 4, 2019, 10:27pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/62 "2019-04-04T22:27:29Z")

</div>

> [@davidanthoff](#):
>
> So say, normally it is `v0.1.1-dev` , and then I only change that to `v0.1.1` for one commit, register that commit in General, tag that commit, and then immediately in the next commit change it to `v0.1.2-dev` ?
> 
> On one hand that seems sensible, but also quite cumbersome without some tooling.

Yeah, it would be nice to have this kind of tooling. See [What should version in Project.toml be between releases? · Issue #351 · JuliaLang/Pkg.jl · GitHub](https://github.com/JuliaLang/Pkg.jl/issues/351) for a previous discussion (basically “no” to make it mandatory, IIUC).

> [@davidanthoff](#):
>
> `v0.1.1-dev` ,

Just a nit, but it probably is better to use `v0.1.1-DEV` so that we have `v0.1.1-DEV < v0.1.1-alpha < v0.1.1-beta < v0.1.1-rc`.

---

<div class="post-metadata">

**Author:** ![kevbonham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevbonham/32/216165_2.png) [@kevbonham](https://discourse.julialang.org/u/kevbonham)\
**Post date:** [April 4, 2019, 11:21pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/63 "2019-04-04T23:21:53Z")

</div>

> [@StefanKarpinski](#):
>
> First, note that if it does have a manifest it is ignored when the package is used as a dependency

This I didn’t know. Is it also ignored if I do `] add`? That’s the case I’m most worried about - if a bunch of packages that I’m adding are using a bunch of the same packages as dependencies and there are mismatches because people are just blindly checking in the manifest.

Then again, I suppose there’s no harm in using older versions of things if tests pass. Just seems like a lot to keep track of. I definitely plan to use the manifest for projects - i think they’re an amazing tool. I guess I just don’t really grok how they will play out in packages.

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [April 4, 2019, 11:44pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/64 "2019-04-04T23:44:18Z")

</div>

I wonder if this hard deadline set to Monday is appropriate when the tooling is still not there for a smooth transition. I anticipate a lot of stress coming from package maintainers, specially those who have a couple of packages live and running.

Ideally, we would have a good replacement to attobot ready to use—a simple button press—and only then maintainers would be requested to change their workflow. We are doing the opposite here where the change is being requested without the tooling. I have to say that the migration process is a little bit confusing, and it makes me anxious. I will likely pollute my git history with trial and error.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [April 4, 2019, 11:51pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/65 "2019-04-04T23:51:23Z")

</div>

I’m not sure where you’re getting the idea that the tooling doesn’t exist. Registrator is the replacement for attobot. We’ve requested testing and gotten some feedback but it works already.

I’m not sure why any of this would pollute your git history. How would that happen? The worst case is that you try to register a package version and it doesn’t work.

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [April 4, 2019, 11:53pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/66 "2019-04-04T23:53:33Z")

</div>

Sorry if I misunderstood, but I got that Registrator.jl isn’t capable of tagging the repo, creating releases, and so on because of security concerns. I also understand that similar tooling is on the way under the name of TagBot.jl. Is that incorrect?

I saw people discussing commits and commit name conventions like `v1.1.0-dev`, tag `v1.1.1`, register, and then commit `v1.1.2-dev`, and so on. I may have confused things, and that is why I thought this could pollute my git history.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [April 4, 2019, 11:57pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/67 "2019-04-04T23:57:26Z")

</div>

Actually it was capable of that but people complained about the bot requiring write access so we changed it. So you’re damned if you do and you’re damned if you don’t. Package maintainers are perfectly capable of copying a few commands to tag versions themselves.

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [April 5, 2019, 12:00am UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/68 "2019-04-05T00:00:44Z")

</div>

Yes, I think I am too used to the attobot way. It is really convenient. One button press, and TaDa! everything is in place. You get the PR wrong by some simple mistake, no worries, just delete the release+tag, and redo. TaDa! attobot updates the PR. This is something of great value to someone that doesn’t want to fight with Git all the time.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [April 5, 2019, 12:03am UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/69 "2019-04-05T00:03:56Z")

</div>

Unfortunately, in practice people don’t actually delete tags that go wrong. Instead they tag five attempts all at once with four being wrong. I also don’t understand where the “fighting with git” comes in.

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [April 5, 2019, 12:07am UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/70 "2019-04-05T00:07:50Z")

</div>

I have this personal principle where I try to minimize the time I spend using Git 🙂 jokes aside, I am happy with GitHub releases integration that attobot provides, and will miss it badly in the 1.0 era if that is not in the near-term plans.

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [April 5, 2019, 12:18am UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/71 "2019-04-05T00:18:09Z")

</div>

There _are_ near term plans. If you wait until everything is 100% complete and perfect to everyone’s possible hypothetical demands then you never ship anything. You’ll also develop the wrong tool that solves problems that don’t actually exist instead of problems people actually have. The transition to the new registry system has already taken too long. We’re doing this next week.

---

<div class="post-metadata">

**Author:** ![davidanthoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidanthoff/32/223493_2.png) [@davidanthoff](https://discourse.julialang.org/u/davidanthoff)\
**Post date:** [April 5, 2019, 12:26am UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/72 "2019-04-05T00:26:28Z")

</div>

We should all stop distracting @StefanKarpinski from writing that REQUIRE-\>Project.toml conversion script 🙂

---

<div class="post-metadata">

**Author:** ![anon67531922](https://avatars.discourse-cdn.com/v4/letter/a/48db29/32.png) [@anon67531922](https://discourse.julialang.org/u/anon67531922)\
**Post date:** [April 5, 2019, 12:40am UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/73 "2019-04-05T00:40:15Z")

</div>

I 100% support this 👍☝

@Nishanth_Kottary and the whole #pkg-dev team have done a tremendous job preparing this 🙌

For sure it is not perfect and all this feedback will go into making the next versions better and better, but getting off METADATA needs to happen and is definitely worth any initial bumps.

---

<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:** [April 5, 2019, 7:11am UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/74 "2019-04-05T07:11:20Z")

</div>

> [@Ronis\_BR](#):
>
> Where am I supposed to search for the correct UUID for my package?

You can copy it from the general registry (as you found out), or alternatively use `Pkg.METADATA_compatible_uuid` to generate the same thing.

---

<div class="post-metadata">

**Author:** ![oxinabox](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oxinabox/32/206603_2.png) [@oxinabox](https://discourse.julialang.org/u/oxinabox)\
**Post date:** [April 6, 2019, 3:31pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/75 "2019-04-06T15:31:36Z")

</div>

> [@StefanKarpinski](#):
>
> Unfortunately, in practice people don’t actually delete tags that go wrong. Instead they tag five attempts all at once with four being wrong

Deleting releases on Github is annoying,  
you have to delete the release,  
then delete the tag.  
It involves navigating 3-5 pages thar you don’t normally use.

---

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [April 6, 2019, 4:54pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/76 "2019-04-06T16:54:55Z")

</div>

indeed, deleting releases is annoying; however, I completely agree with @juliohm and prefer attobot

---

<div class="post-metadata">

**Author:** ![chakravala](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chakravala/32/6832_2.png) [@chakravala](https://discourse.julialang.org/u/chakravala)\
**Post date:** [April 7, 2019, 12:02pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/77 "2019-04-07T12:02:03Z")

</div>

has the METADATA to General sync script already been [turned off](https://github.com/JuliaRegistries/General/commits/master)?

---

<div class="post-metadata">

**Author:** ![tobias.knopp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tobias.knopp/32/7551_2.png) [@tobias.knopp](https://discourse.julialang.org/u/tobias.knopp)\
**Post date:** [April 7, 2019, 7:24pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/78 "2019-04-07T19:24:37Z")

</div>

seems so. I made release of my package yesterday and it is not in the registry but in METADATA. Has Registrator already been modified to point to the general registry?

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [April 7, 2019, 8:34pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/79 "2019-04-07T20:34:45Z")

</div>

The machine it runs on got rebooted. I’ll turn it on later when I’m back at a computer.

---

<div class="post-metadata">

**Author:** ![tim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tim/32/6848_2.png) [@tim](https://discourse.julialang.org/u/tim)\
**Post date:** [April 7, 2019, 8:37pm UTC](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677/80 "2019-04-07T20:37:46Z")

</div>

As there was a lot of negative feedback, here comes something good: Thanks a lot for switching to the new registration system!

I have been using Project.tomls for a while, mostly because I love the feature that I can have separate dependencies only for the testing environment. But this has always implied to do twice the work for a release (changing Project.toml and then doing the github-release stuff). Simply commenting on the commit seems to make it a lot easier. Thanks (:

[Previous page](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677.md?page=3)

[Next page](https://discourse.julialang.org/t/switching-package-registration-systems-soon/22677.md?page=5)
