Registry and Spago 1.0 Launch: it's happening

We are happy to announce that the planned upgrades for the Registry and Spago have been completed! We had a few hiccups over the weekend, and unforeseen issues during the various deployments, but as of this moment services are back to being operational.

Spago 1.0.0 has been released and the registry is now in general availability as of Feb 1, 2026 :tada:

Package Managers

A few things to note about how all of this affects different package managers:

Spago@next
If you are a spago@next user then your builds will continue to work. However, if you want to use the spago publish command you will need to update to spago@1.0.0 to integrate with the new infrastructure.

We will no longer be publishing the next tag and publishing has moved to use the latest tag.

Legacy package managers (Bower, legacy Spago)
If you use legacy Spago (you have a spago.dhall file) or you use Bower, then you can continue to publish your packages to the registry for the time being. When the registry produces a new package set we still produce a packages.dhall for it and write that to the registry repository. This “legacy” support will continue for a minimum of 6 months, but after that the registry maintainers may remove support for legacy package managers and package sets.

Nix
The purescript-overlay has been updated to support spago 1.x.x as the default entry for the spago package, so you no longer need to refer to spago-unstable if you are using the Spago rewrite.

If you use Nix with registry hashes to build your packages (for instance, you use mkSpagoDerivation), then your builds will fail until you regenerate your spago.lock files. You can regenerate them with a call to spago build which will detect your out-of-date files and regenerate them. The mkSpagoDerivation function has been updated to work with the current registry.

The registry itself is built with Nix, so you can see this pull request as an example of what it looks like to fix your Nix build.

Omitted Package Versions

Not all package versions that existed in Bower have been included in the registry. The registry only includes packages which satisfy the registry requirements, especially that they compile with at least one compiler from 0.13.0 onwards.

The old new-packages.json and bower-packages.json files which used to enumerate the packages in the registry have been moved into the registry in the archive directory. We have also added a new file which lists every version of these packages which did not get registered along with the specific error it encountered.

If you are surprised to find a package or package version is not in the registry, and the error listed in removed-packages.json is unclear, please open an issue so we can help diagnose and fix any mistakenly omitted package versions.

Wrapping Up

Thanks for holding on through the disruption this weekend! If you have any issues using the registry you may create a relevant issue in one of these locations:

Thanks!
@thomashoneyman and @f-f

14 Likes