[Hackage] #472: new field for version policy

Hackage trac at galois.com
Wed Jan 21 12:23:49 EST 2009


#472: new field for version policy
----------------------------+-----------------------------------------------
  Reporter:  duncan         |        Owner:           
      Type:  enhancement    |       Status:  new      
  Priority:  normal         |    Milestone:  Cabal-1.8
 Component:  Cabal library  |      Version:  1.6.0.1  
  Severity:  normal         |     Keywords:           
Difficulty:  unknown        |   Ghcversion:           
  Platform:                 |  
----------------------------+-----------------------------------------------
 We would like packages to be able to describe what version policy they
 use.

 One common policy that we have been discussing is called the
 [http://haskell.org/haskellwiki/Package_versioning_policy Package
 versioning policy] or PVP for short. In particular we would like packages
 to be able to opt-in to following this policy. It would enable hackage to
 enforce the policy (with a suitable API-checking tool) which should
 provide a strong guarantee for client packages. In addition it would allow
 hackage and cabal to make suggestions for packages about dependencies on
 packages that follow the polciy. For example it could suggest not using
 upwardly open version ranges.

 So we would like a reasonably extensible syntax for packages to specify
 what version policy they follow. One suggestion is:

 {{{
 version-policy: PVP-1
 }}}

 That is named (and versioned) policies. The names would have to be well
 known and defined elsewhere. Only known policies could only be enforced.
 As with other similar meta-data, the value should be parsed but allow
 unknown policies. Hackage could reject unknown policies, but it would
 enable people to make in-house modifications to add new policies.

-- 
Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/472>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects


More information about the cabal-devel mailing list