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
new packages in the registry
new versions of existing packages, possibly with a filter for major and minor version bumps
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).
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.
I guess 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…
He explains how he does it here. 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.
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
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?
(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
Yeah, I guess syntactic sugar for it would be nice too like
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?
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.
That’s not really what I am looking for. I would prefer
if I did not have to initiate gathering this information (eg RSS, e-mail notifications, maybe in a digest),
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 linked by @Zach_Christensen above would be ideal: we already have release notes in the registrator, this “just” needs to be scraped and compiled.
I am reasonably familiar with the static site generator Hugo, so if someone helped with the collection and saving it in toml frontmatter + markdown files like
+++
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
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: