-
Notifications
You must be signed in to change notification settings - Fork 194
States of releases files
A release and each file of that release have several "state" properties which allow to filter them depending on the use case. This document explains the exact meaning of each state. Each state is a binary property (i.e. is either true or false or null).
This is a draft and hasn't been implemented yet
On a release entity this means that the release includes modules that are listed in the 02packages.details.txt file.
On a file entity, this means that the file includes an installable module. This property can also be found in the module
subproperty of the file document.
{
"installable":true,
"path":"lib/Moose.pm",
"module":[{
"name":"Moose",
"installable":true,
...
}],
...
}
installable
and latest
don't have the same value in some cases. For example, if a module was removed from a more recent release, the older version of that release/file will still have the installable bit set, but lost the latest bit.
This property changes over time
True if the release/file is a dev release, false otherwise. Developer releases are never installable
.
This is the most recently uploaded version of this release/file.
Releases/files might be installable
but not latest
.
This property changes over time
true means, the release / file is available on cpan mirrors. False means, that it is only available from the BackPAN. BackPAN releases are never installable
.
Derived from the no_index property of the META file. Generally you will only search for indexed files. Non-indexed files usually contain modules and documentation from the test suite or examples.
The 06perms.txt lists module names and authors, who are allowed to upload a new version of that module. If a release/file contains a module that has been uploaded by an unauthorized author, this bit will bet set to true. False otherwise.
Developer releases have this bit set to null
because no the state is unknown.
A good filter for the default MetaCPAN search could be:
cpan && (installable || developer && latest)