Releases: haskell-nix/hnix
0.17.0
What's Changed
- Utils: add {isPresent, handlePresence} by @Anton-Latukha in #1040
- Expr.Types: add & use NPos & NSourcePos by @Anton-Latukha in #1038
- Expr.Types: NExprF: add NApp by @Anton-Latukha in #1042
- Unify
mkNV*
andNV*
patterns by bidirectional synonyms in value modules by @soulomoon in #1046 - Parser: work on NAppDef & OperatorInfo related code by @Anton-Latukha in #1047
- cabal: add common stanza by @Anton-Latukha in #1052
- (#1053) Fix compilation with ghc 8.6.5 by @hamishmack in #1053
- add flake.nix by @DavHau in #1061
- update nixpkgs version in build system, fix bug, build shell properly by @soulomoon in #1069
- fix if expression parser by @soulomoon in #1072
- nix flake: support aarch64-darwin by @soulomoon in #1073
- accommodate with store's new addToStore API by @soulomoon in #1077
- Implement
getURL
ofinstance MonadHttp IO
by @soulomoon in #1051 - Compile on GHC 9.4.3 by @alex-mckenna in #1081
- deps: unordered-containers >= 0.2.14 by @kquick in #1084
- Fix pretty printer closing brace alignment by @ners in #1090
- Fix quasiquote free variable interpolation by @ners in #1091
- release 0.17.0 by @ners in #1092
New Contributors
- @hamishmack made their first contribution in #1053
- @DavHau made their first contribution in #1061
- @alex-mckenna made their first contribution in #1081
- @kquick made their first contribution in #1084
- @ners made their first contribution in #1090
Full Changelog: 0.16.0...0.17.0
0.16.0
(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, removednewtype
accessors. - (link), (link) Incomprehensible record accessors zoo like:
arg
,options
,unStore
,scFlavor
,nsContext
_provenance
- was organized, now all record accessors start withget*
, 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 ofnvSet
becamemkNVSet
. Nix.String
builders/destructors instead ofmake
usemk
, & where mentioning ofstring
is superflous - dropped it from the name, sostringIgnoreContext
, becameignoreContext
.- 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.
- Things that are paths are now
- Where
-
Additional:
-
Other notes:
Shorthands
was kept untouched.
Autogenerated ChangeLog
- add dependabot: make it update GitHub Actions by @Anton-Latukha in #997
- Bump cachix/install-nix-action from 12 to 14.1 by @dependabot in #998
- Upd Nix-dev-env rev by @Anton-Latukha in #999
- coercion to NixString; iterNValue': flip 1st arg; unflip runFreshIdT by @Anton-Latukha in #1005
- Upd {{Value, Eval Provenance, JSON} builders, Option getters, Utils} by @Anton-Latukha in #1006
- default: do not check rev == "" by @Anton-Latukha in #1012
- fix getFreeVars and add test by @Radvendii in #1011
- Bump cachix/install-nix-action from 14.1 to 15 by @dependabot in #1013
- Bump cachix/install-nix-action from 15 to 16 by @dependabot in #1014
- Fix nix-shell invocation by @Anderssorby in #1015
- fix typo by @soulomoon in #1017
- dep: support 'hashable 1.4' by @Anton-Latukha in #1022
- Escape ${ in strings when printing Nix expressions by @soulomoon in #1019
- tests: NixLanguageTests: enable test 'eval-okay-types' by @soulomoon in #1020
- tests: NixLanguageTests: enable test 'eval-okay-hashfile' by @soulomoon in #1021
- Unify accessor naming by @Anton-Latukha in #1009
- (#1027) mk mod Prelude NoImplicitPrelude, mv mod Prelude (->Nix.) by @Anton-Latukha in #1027
- (#1029) upd nix submodule by @Anton-Latukha in #1029
- (#1031) Builtins: add floor & ceil by @soulomoon in #1031
- Builtins: add path & unsafeDiscardOutputDependency by @Anton-Latukha in #1032
- Builtins: add groupBy by @soulomoon in #1033
- (#1035) Proclaim 0.16.0 by @Anton-Latukha in #1035
New Contributors
- @Radvendii made their first contribution in #1011
- @Anderssorby made their first contribution in #1015
- @soulomoon made their first contribution in #1017
Full Changelog: 0.15.0...0.16.0
0.14.0.8
What's Changed
- (#1028) fx for aeson <1.6 by @Anton-Latukha in #1028
Full Changelog: 0.14.0.7...0.14.0.8
0.14.0.7
What's Changed
- Expr: Types: make the proper suport of the hashable 0.14 by @Anton-Latukha in #1025
Full Changelog: 0.14.0.6...0.14.0.7
0.14.0.6
What's Changed
- support-branch-0.14: deps: restrict base, upd hashable, megaparsec by @Anton-Latukha in #1023
- (#1024) proclaim 0.14.0.6 by @Anton-Latukha in #1024
Full Changelog: 0.14.0.5...0.14.0.6
0.15.0
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 ofText
). - 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 languages.x or y
expession.
- entered deprecation:
mkOper{,2}
bacamemkOp{,2}
.mkBinop
becamemkOp2
.mkParaset
supeceeded bymk{,Named{,Variadic},Variadic,General}ParamSet
.
- fixed:
mkAssert
was creatingwith
, now properly createsassert
.
- added:
What's Changed
- Release 0.14.0.1 by @Anton-Latukha in #967
- upd Recurcivity data type by @Anton-Latukha in #968
- Changes to Shorthands by @Anton-Latukha in #970
- tests: NixLanguageTests: enable test 'eval-okay-context-introspection' by @Anton-Latukha in #971
- VarName type boundary; flip {NVSetF, NSelect}; upd AttrSet; add PositionSet; coerce by @Anton-Latukha in #972
- Clarify string coercion errors by @layus in #958
- add context notes by @Anton-Latukha in #975
- Expr: Types: changes by @Anton-Latukha in #978
- project recieving basic Path type boundary by @Anton-Latukha in #979
- String: (make -> mk) renames; other optimizations by @Anton-Latukha in #980
- CI: GitHib: add HLint by @Anton-Latukha in #981
- Parser: update by @Anton-Latukha in #983
- Merge Prelude & Nix.Utils by @Anton-Latukha in #985
- clean-up & refactors; enabling some tests; specializing Path functions by @Anton-Latukha in #987
- Make
typeFun
total by @mrgutkun in #988 - refactors & hlint rules by @Anton-Latukha in #990
- deps: upd by @Anton-Latukha in #992
- Release 0.15.0 by @Anton-Latukha in #993
New Contributors
- @mrgutkun made their first contribution in #988
Full Changelog: 0.14.0...0.15.0
0.14.0.2
Release that support aeson
0.2.
0.14.0.1
fx ChangeLog
0.14.0
-
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 ofdoesPathExist
(inNix.Render
:class MonadFile
:doesPathExist
)
- rm
-
Nix.Var
: was found being superflous (report), so reduced. useControl.Monad.Ref
instead. -
Nix.Normal
- rename
opaque(,->Val)
, indicate that it is a literal.
- rename
-
Nix.Thunk
:class MonadThunkId m => MonadThunk{,F} t m a
:- rename
query(M->){,F}
- rename
-
-
Additional:
-
Nix.Utils
:- added type
TransformF
- added type
-
Nix.Eval
:- added fun:
evalContent
addMetaInfo
- added fun:
-
Nix.Types.Assumption
:- added instances:
Assumption
:{Semigroup,Monoid,One}
- added instances:
-
Nix.Type.Env
:- added instances:
Env
:{Semigroup,Monoid,One}
- added instances:
-
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
-
- changed argument order:
-
Nix.Normal
- add
thunkVal
literal & use it where appropriate{deThunk, removeEffects}
- add
-
Nix.Thunk.Basic
:- export
deferred
- export
-
0.13.1
- (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 onrelude
reimports introduced in aforementioned version. - Refactors, reorganization in some modules, docs, clean-ups.