Skip to content

Releases: haskell-nix/hnix

0.17.0

20 Nov 21:43
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.16.0...0.17.0

0.16.0

18 Jan 12:05
9c971ed
Compare
Choose a tag to compare

(diff) 0.16.0

On update problems, please reach out to us. For support refere to: #984

Partial log (for now):

  • Breaking:

    • Where coerce should work, removed newtype accessors.
    • (link), (link) Incomprehensible record accessors zoo like: arg, options, unStore, scFlavor, nsContext _provenance - was organized, now all record accessors start with get*, and their names tend to have according unique sematic meaning of data action they do.
    • Builder names got unified. Now they all start with mk*. So a lof of nvSet became mkNVSet.
    • Nix.String builders/destructors instead of make use mk, & where mentioning of string is superflous - dropped it from the name, so stringIgnoreContext, became ignoreContext.
    • Type system:
      • Things that are paths are now newtype Path = Path String.
      • Things that are indentifier names are now newtype VarName = VarName Text.
      • Function signatures changed accordingly.
  • Additional:

    • (link) Matched expression escaping & its representation to breaking changes in Nix 2.4.
    • Builtins (builtins function set) gained functions:
    • (link) data/nix submodule (& its tests) updated to 2022-01-17.
  • Other notes:

    • Shorthands was kept untouched.

Autogenerated ChangeLog

New Contributors

Full Changelog: 0.15.0...0.16.0

0.14.0.8

16 Jan 16:18
06b12ab
Compare
Choose a tag to compare

What's Changed

0.14.0.7

10 Jan 19:51
0.14.0.7
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.14.0.6...0.14.0.7

0.14.0.6

10 Jan 15:36
0.14.0.6
b2d5d44
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.14.0.5...0.14.0.6

0.15.0

29 Oct 12:23
0.15.0
Compare
Choose a tag to compare

For support refer to: #984

Partial log (for now):

  • Breaking:

    • Nix.Expr.Shorthands:
      • inherit{,From}:

        • dropped second(/third) argument as irrelevant (report)
        • bindings to inherit changed type from complex [NKeyName] (which is for static & dynamic keys) to [VarName] (VarName is newtype of Text).
        • So examples of use now are: inherit ["a", "b"], inheritFrom (var "a") ["b", "c"]
      • mkAssert: fixed (report).

      • fx presedence between the operators:

        (@@), (@.), (@./), ($==), ($!=), ($<), ($<=), ($>), ($>=), ($&&), ($||), ($->), ($//), ($+), ($-), ($*), ($/), ($++), (==>)

        Now these shorthands can be used without sectioning & so represent the Nix expressions one to one.

        nix = "           a/b   //            c/def   //           <g>  <             def/d"
        hask = mkRelPath "a/b" $// mkRelPath "c/def" $// mkEnvPath "g" $<  mkRelPath "def/d"
  • Additional

    • Nix.Expr.Shorthands:
      • added:
        • emptySet
        • emptyList
        • mkOp{,2}
        • mk{,Named,Variadic,General}ParamSet
        • mkNeg - number negation.
        • @.<|> for Nix language s.x or y expession.
      • entered deprecation:
        • mkOper{,2} bacame mkOp{,2}.
        • mkBinop became mkOp2.
        • mkParaset supeceeded by mk{,Named{,Variadic},Variadic,General}ParamSet.
      • fixed:
        • mkAssert was creating with, now properly creates assert.

What's Changed

New Contributors

  • @mrgutkun made their first contribution in #988

Full Changelog: 0.14.0...0.15.0

0.14.0.2

28 Oct 09:48
0.14.0.2
f39d887
Compare
Choose a tag to compare

Release that support aeson 0.2.

0.14.0.1

08 Jul 13:13
c71e1d9
Compare
Choose a tag to compare

fx ChangeLog

0.14.0

08 Jul 09:05
cc7a472
Compare
Choose a tag to compare
  • GHC 9.0 support.

  • HNix switched to pre-0.9 style of log (aka "no log"). We temporarily stopped producing log, choosing effectiveness over writing about it.

  • All changes seem trivial (from the inside). There is no changes in Nix.Expr.Shorthands module. Would there be difficulties in migration - please write to us - we would tackle & solve it togather.

A partial log:

  • Breaking:

    • Nix.Effects:

      • rm pathExits in favour of doesPathExist (in Nix.Render: class MonadFile: doesPathExist)
    • Nix.Var: was found being superflous (report), so reduced. use Control.Monad.Ref instead.

    • Nix.Normal

      • rename opaque(,->Val), indicate that it is a literal.
    • Nix.Thunk:

      • class MonadThunkId m => MonadThunk{,F} t m a:
        • rename query(M->){,F}
  • Additional:

    • Nix.Utils:

      • added type TransformF
    • Nix.Eval:

      • added fun:
        • evalContent
        • addMetaInfo
    • Nix.Types.Assumption:

      • added instances:
        • Assumption: {Semigroup,Monoid,One}
    • Nix.Type.Env:

      • added instances:
        • Env: {Semigroup,Monoid,One}
    • Nix:

      • changed argument order:
        • nixEval:

          -- was:
            => Maybe FilePath -> Transform g (m a) -> Alg g (m a) -> Fix g -> m a
          -- became:
            => Transform g (m a) -> Alg g (m a) -> Maybe FilePath -> Fix g -> m a
    • Nix.Normal

      • add thunkVal literal & use it where appropriate {deThunk, removeEffects}
    • Nix.Thunk.Basic:

      • export deferred

0.13.1

22 May 17:43
c000ec7
Compare
Choose a tag to compare
  • (link) Nix.Parser: annotateLocation: Fix source location preservation.
  • (link) Require Cabal dependency relude >= 1.0: since imports & Cabal file got cleaned-up & that clean-up depends on relude reimports introduced in aforementioned version.
  • Refactors, reorganization in some modules, docs, clean-ups.