Hello, I have a package that uses Dates and UUIDs. Both modules are listed in the [deps] section of my project.toml file. I want to submit my package. The julia registrator rejects my project because: 'The following dependencies do not have a [compat] entry that is upper-bounded and only includes a finite number of breaking releases: Dates, UUIDs'. I believe that both Dates and UUIDs are part of the standard library and I am not clear how to specify the compat. Does anyone have an example? Thank you!
#Compat entries for Dates and UUIDs
1 messages · Page 1 of 1 (latest)
They just recently changed the requirement such that std libs also need a compatible entry
I got this email two weeks ago:
Up until now standard libraries have been excluded from the mandatory
requirement of being listed in [compat]. Stdlibs were exempt because the version of a standard library was tightly coupled to the version of Julia it was shipped with.
In Julia v1.11 (and to an lesser extend v1.10) we are moving towards upgradeable standard libaries.
This means that Julia will still come with the same selection of standard libraries, but instead of waiting
for a new Julia release, standard libraries will have their own release cycle.
So it should be possible in the future to use Pkg v1.12 on Julia v1.11.
In effect standard libraries are becoming normal Julia packages, with the only difference that a version of
them will be shipped with a default Julia install.
Now this means that version numbers of standard libraries and Julia are no longer coupled and one
must manually declare [compat] requirements for standard libraries as well as Julia in your Project.toml. We will handle the registry side of things automatically, but developers will have to
manually adjust their Project.toml the next time they release a version to the registry.
So a Project.toml like:
name = "TestStdlibMissingCompat"
uuid = "4a0d4eb6-ee8c-4d0f-9d49-1daa6f6c32cf"
version = "0.1.0"
[deps]
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
[compat]
julia = "1.9"
Would become:
name = "TestStdlibMissingCompat"
uuid = "4a0d4eb6-ee8c-4d0f-9d49-1daa6f6c32cf"
version = "0.1.0"
[deps]
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
[compat]
julia = "1.9"
Statistics = "1.9"
This change will be deployed in the next few days.
Thank you! I was unaware of the change. This makes perfect sense now.