# Being informed about new registered packages and releases

**URL:** <https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070>\
**Category:** Community\
**Tags:** question\
**Created:** [October 19, 2019, 5:31am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070 "2019-10-19T05:31:14Z")\
**Posts on this page:** 20\
**Page:** 1

<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:** [October 19, 2019, 5:31am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/1 "2019-10-19T05:31:14Z")

</div>

I like to keep up to date about new Julia packages being registered and new releases of existing ones.

I used to just “watch” the Github repo for the registry, but it contains a lot of incidental information and these days it is like drinking from a firehose. I of course also follow the announcements category here, but not every package is announced.

Is there an alternative mechanism for this? Ideally I would like to be notified about

1. new packages in the registry

2. new versions of existing packages, possibly with a filter for major and minor version bumps

---

<div class="post-metadata">

**Author:** ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Post date:** [October 19, 2019, 5:37am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/2 "2019-10-19T05:37:43Z")

</div>

How about watching only releases? That can be selected from the watch drop down

---

<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:** [October 19, 2019, 6:22am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/3 "2019-10-19T06:22:39Z")

</div>

I think you are confusing Julia package releases (which are changes to that repository) with what Github considers a release (of which there aren’t any for this repo).

---

<div class="post-metadata">

**Author:** ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Post date:** [October 19, 2019, 6:51am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/4 "2019-10-19T06:51:32Z")

</div>

U mean u watch the general registry? Thought u meant the individual repositories. For me, tag bot tags each release

---

<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:** [October 19, 2019, 7:06am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/5 "2019-10-19T07:06:37Z")

</div>

I am not quite sure you read the original question. Of course I am aware of that feature of Github, and I use it to watch some packages; but this does not work for learning about _new_ packages.

---

<div class="post-metadata">

**Author:** ![tamasgal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamasgal/32/27946_2.png) [@tamasgal](https://discourse.julialang.org/u/tamasgal)\
**Post date:** [October 19, 2019, 7:59am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/6 "2019-10-19T07:59:35Z")

</div>

I guess [https://github.com/JuliaRegistries/Registrator.jl](https://github.com/JuliaRegistries/Registrator.jl) should be the entry point but I have almost no experience with GitHub bots whatsoever, so not sure if there is a way to inject some hooks. But ultimately that’s the place where the actual “release” happens I guess…

---

<div class="post-metadata">

**Author:** ![Zach\_Christensen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zach_christensen/32/7220_2.png) [@Zach\_Christensen](https://discourse.julialang.org/u/Zach_Christensen)\
**Post date:** [October 19, 2019, 7:59am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/7 "2019-10-19T07:59:35Z")

</div>

You mean something like this

> **[CRANberries](http://dirk.eddelbuettel.com/cranberries/)**
>
> R, CRAN, package

---

<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:** [October 19, 2019, 8:01am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/8 "2019-10-19T08:01:22Z")

</div>

Yes, that’s a perfect solution — an RSS feed allows catching up with this information on demand.

---

<div class="post-metadata">

**Author:** ![Zach\_Christensen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zach_christensen/32/7220_2.png) [@Zach\_Christensen](https://discourse.julialang.org/u/Zach_Christensen)\
**Post date:** [October 19, 2019, 8:07am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/9 "2019-10-19T08:07:19Z")

</div>

He explains how he does it [here](http://dirk.eddelbuettel.com/cranberries/about/). It seems like the equivalent in Julia would be periodically updating a local registry to match the general registry and just automating some readout of the the git history.

---

<div class="post-metadata">

**Author:** ![tlienart](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tlienart/32/7640_2.png) [@tlienart](https://discourse.julialang.org/u/tlienart)\
**Post date:** [October 19, 2019, 8:17am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/10 "2019-10-19T08:17:47Z")

</div>

What could be nice too for versions is that when you type `status` in an environment pkg tells you if there are any new versions available (you may not want to up for compatibility reasons but it’d be nice to have the info)

Maybe especially so now that auto merging on the registry requires upper bounds on everything

---

<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:** [October 19, 2019, 8:20am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/11 "2019-10-19T08:20:36Z")

</div>

you can fake this with:  
`pkg> preview up`  
which will do a dry run of updating but no change anything.

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [October 19, 2019, 8:27am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/12 "2019-10-19T08:27:17Z")

</div>

This is exactly what the Emacs package manager does and indeed I find it very useful to discover new packages.

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [October 19, 2019, 8:38am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/13 "2019-10-19T08:38:55Z")

</div>

How about periodically looking at this filtered list of prs?  
[https://github.com/JuliaRegistries/General/pulls?q=is%3Apr+is%3Aclosed+label%3A"new+package"](https://github.com/JuliaRegistries/General/pulls?q=is%3Apr+is%3Aclosed+label%3A%22new+package%22)

---

<div class="post-metadata">

**Author:** ![tlienart](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tlienart/32/7640_2.png) [@tlienart](https://discourse.julialang.org/u/tlienart)\
**Post date:** [October 19, 2019, 9:07am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/14 "2019-10-19T09:07:33Z")

</div>

this doesn’t work for me (I’m on 1.3)? also does it give the preview of what `up` would do or of what versions are available as with compat bounds that’s not necessarily 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:** [October 19, 2019, 9:28am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/15 "2019-10-19T09:28:35Z")

</div>

Ah sorry it is `preview up`

```julia
(v1.2) pkg> preview up
───── Preview mode ─────
[ Info: skipping updating registries in preview mode
 Resolving package versions...
 Installed Atom ─ v0.11.1
  Updating `~/.julia/environments/v1.2/Project.toml`
  [c52e3926] ↑ Atom v0.10.1 ⇒ v0.11.1
  [295af30f] ↑ Revise v2.1.10 ⇒ v2.2.2
  Updating `~/.julia/environments/v1.2/Manifest.toml`
  [c52e3926] ↑ Atom v0.10.1 ⇒ v0.11.1
  [295af30f] ↑ Revise v2.1.10 ⇒ v2.2.2
  [90137ffa] ↑ StaticArrays v0.11.0 ⇒ v0.11.1
  Building skipping building in preview mode
───── Preview mode ─────

```

It gives a preview of what `up` would do.

So it respects `compat`.

it would be nice to have a version of `up` that ignored/relaxed compat.  
so could test out if worked wiith new versions,  
then could do `pkg> preview up --relax-compat`

---

<div class="post-metadata">

**Author:** ![tlienart](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tlienart/32/7640_2.png) [@tlienart](https://discourse.julialang.org/u/tlienart)\
**Post date:** [October 19, 2019, 9:39am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/16 "2019-10-19T09:39:30Z")

</div>

Yeah, I guess syntactic sugar for it would be nice too like

```julia-repl
pkg> whatsnew

```

I guess a side advantage for such a thing is that it may address @Tamas_Papp’s initial FR if you assume that the packages in your environment are the packages you care about?

---

<div class="post-metadata">

**Author:** ![yakir12](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/yakir12/32/297_2.png) [@yakir12](https://discourse.julialang.org/u/yakir12)\
**Post date:** [October 19, 2019, 11:04am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/17 "2019-10-19T11:04:32Z")

</div>

I’ve migrated to having individual environments for each project. So I don’t have one main environemnt to see what’s new, I’d instead need to do that for each of the projects scattered around my computer-verse… I would be cool to know what’s up in a more general sense.

---

<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:** [October 19, 2019, 11:52am UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/18 "2019-10-19T11:52:13Z")

</div>

That’s not really what I am looking for. I would prefer

1. if I did not have to initiate gathering this information (eg RSS, e-mail notifications, maybe in a digest),

2. I could access it in a context where there short release notes and links I can click on that take me to the repo (for new packages) and either git changes or a changelog entry for updates,

I don’t think that `Pkg` is the right place for this. Something like [cranberries](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/7) linked by @Zach_Christensen above would be ideal: we already have [release notes](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/7) in the registrator, this “just” needs to be scraped and compiled.

I am reasonably familiar with the static site generator [Hugo](https://gohugo.io/), so if someone helped with the collection and saving it in toml frontmatter + markdown files like

```markdown
+++
date = "2019-05-23T16:39:26+02:00"
package = "Foo.jl"
release = "initial" # or major, minor, patch release
version = "0.0.1"
+++

Release notes:

Foo.jl is a framework for frobnicating gizmos.

```

I could write a site generator. And of course we need hosting 🙂

---

<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:** [October 21, 2019, 11:08pm UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/19 "2019-10-21T23:08:58Z")

</div>

Package registry is just a plain git repository with a bunch of TOML files. So, why not read the data directly? Here is a one-linear to list newly added packages in past 100 commits:

```nohighlight
cd ~/.julia/registries/General && \
    git diff 'HEAD~100..origin/master' -- Registry.toml \
    | grep -E '^\+[^+]' \
    | sed -E 's/.*name = "([^"]+)".*/\1/g'

```

(Of course, it would be much more robust to parse the TOML files and compare the `Dict` in Julia.)

But I guess you need to scrape github release page to get the release notes.

---

<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:** [October 21, 2019, 11:56pm UTC](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070/20 "2019-10-21T23:56:28Z")

</div>

I used to watch [juliaobserver.com/feeds/packages.rss](http://juliaobserver.com/feeds/packages.rss) but I’ve just realized that it is not functioning.

We definitely need a feed to be aware of the nice packages out there.

[Next page](https://discourse.julialang.org/t/being-informed-about-new-registered-packages-and-releases/30070.md?page=2)
