How Does Compat Requirement Changes for General Registry Affect Package Maintainers?

TheCedarPrince
Sat, 14 Oct 2023 19:47:54 +0000
General Usage

Hi folks!

This is a post about the recent announcement:

PSA: Compat requirements in the General registry are changing Announcements

TL;DR: Currently standard libraries have an implied version number based of the Julia version. This is changing and will require users to update their Project.toml. Update – November 9th 2023: While rolling this change out we encountered some unfortunate interactions. Namely that using Pkg inside the test sandbox would lead to confusing errors like: Resolving package versions... ERROR: LoadError: Unsatisfiable requirements detected for package LinearAlgebra [37e2e46d]: LinearAlgebra [37e2e…

I was curious about a few things here:

1. How does this impact packages that support testing of older Julia versions which did not have this segmentation of standard libraries? At first glance, it almost seems like I have to create a separate Project.toml for these older Julia versions (pre 1.10) that I test my packages on and another toml for these Julia versions after 1.9.

2. What was the thought process behind this separation of standard libraries from the main Julia distribution?

The 1st question is more coming from me as a package developer and wondering what I should do to accommodate these changes going forward. The 2nd was more just curiosity and what the perceived benefits are about it.

Thanks!

~ tcp

18 posts - 8 participants