Skip to content

"Patch level" release 1.0.1.3 changes generated random sequences #14

@sol

Description

@sol

E.g. fst . random $ mkStdGen 23 :: Word8 generates 5 with 1.0.1.1 but 91 with 1.0.1.3.

I think changes to the external behavior of a library are essential and should be reflect in the version number. This is even more true if those changes do not lead to type errors!

From my perspective the version number should be 1.1.0.

The issue with patch level releases in general is that they are not detectable with CPP #ifs. For that reason I only use them in situations where I'm verify confident that no behavior changed whatsoever (usually only for version bumps in the cabal file or documentation changes).

I'm not entirely sure whether it's worth to fix this now. For me it's mostly important that we prevent situations like this in the future.

If we want to fix it we could e.g.:

  1. Deprecate 1.0.1.3 on Hackage
  2. Make it uninstallable by patching the cabal file on Hackage (e.g. setting some unsatisfiable version constraint for base)
  3. Release it as 1.1.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions