Changelog for hnix-store-core-0.8.0.0
0.8.0.0 2024-07-31
-
Changes:
System.Nix.StorePath.makeStorePathName
renamed toSystem.Nix.StorePath.mkStorePathName
System.Nix.ReadOnlyStore
moved tohnix-store-readonly
package and renamed toSystem.Nix.Store.ReadOnly
#247System.Nix.Nar*
moved tohnix-store-nar
package #247Arbitrary
instances moved tohnix-store-tests
package #241System.Nix.Internal
namespace was removed #236StorePathMetadata
converted toMetadata a
#231- Moved to
System.Nix.StorePath.Metadata
#236
- Moved to
- Constructors of
StorePathName
andStorePathHashPart
are no longer exported. Use respectivemkStorePath..
functions. #230 StorePath
constructor is no longer exported. PreferparsePath
orparsePathFromText
. If needed to construct a path directly, useunsafeMakeStorePath
#247StorePathSet
type alias is no more, useHashSet StorePath
#230makeStorePath
andparsePath
now returnsEither InvalidPathError StorePath
#231BuildResult
stimesBuild
field changes type fromInteger
toInt
#231
-
Additions:
System.Nix.Store.Types
withFileIngestionMethod
,PathFilter
,RepairMode
types #247FileIngestionMethod
was previously calledNarHashMode
System.Nix.StorePath.parsePathFromText
#236Default StoreDir
instance #231System.Nix.StorePath.storePathHashPartToText
#231- Added
Generic
andShow
instances forSignature
andNarSignature
#231 - Added
Eq
andOrd
instances forSomeNamedDigest
#231 BuildStatus
growsNoSubstituters
andResolvesToAlreadyValid
constructors #231InvalidPathError
replacing previous stringy error #231- Added
Arbitrary
instances for (exported by default) #230StorePath
StorePathName
StorePathHashPart
StoreDir
- Added
Arbitrary
instances for #231BuildMode
BuildStatus
BuildResult
Derivation StorePath Text
DerivationOutput StorePath Text
0.7.0.0 2023-11-15
-
Changes:
StorePath
no longer carriesstorePathRoot
field and we have a stand-aloneStoreDir
type instead to be used instead ofFilePath
when store root directory is needed as a context #216
-
Fixes:
- NAR encoding and decoding now supports case-insensitive filesystems #218
- The "case hack" replicates the behavior of the
use-case-hack
option in Nix, which adds a suffix to conflicting filenames. This feature is enabled by default on macOS (darwin).
- The "case hack" replicates the behavior of the
- NAR encoding and decoding now supports case-insensitive filesystems #218
-
Additions: *
data NarOptions
has been added to configure NAR encoding and decoding. TheoptUseCaseHack
field can be used to enable or disable the case hack #218 * NewstreamNarIOWithOptions
andrunParserWithOptions
functions have been added toSystem.Nix.Nar
to support the new configurable options #218
0.6.1.0 2023-01-02
0.6.0.0 2022-06-06
-
Breaking:
streamNarIO
changes type and returnsNarSource m
#177FilePath
can turn toNarSource m
usingdumpPath
ByteString
can turn toNarSource m
usingdumpString
0.5.0.0 2021-06-10
-
Breaking:
System.Nix.Hash
:- Migration from packages
cryptohash-
->cryptonite
#157- rm
newtype Digest
in favour ofcryptonite: newtype Digest
- rm
data HashAlgorithm
in favour ofcryptonite: class HashAlgorithm
- rm
class ValidAlgo
in favour ofcryptonite: class HashAlgorithm
. class NamedAlgo
removedhashSize
in favour ofcryptonite: class HashAlgorithm: hashDigestSize
. Former became a subclass of the latter.- rm
hash
in favour ofcryptonite: hash
- rm
hashLazy
in favour ofcryptonite: hashlazy
- rm
- Base encoding/decoding function for hashes (digests) changed (due to changes in type system & separation of specially truncated Nix Store hasing) #157
encode(InBase -> DigestWith)
decode(Base -> DigestWith)
- Migration from packages
System.Nix.StorePath
#157- rm
type StorePathHashAlgo = 'Truncated 20 'SHA256
in favour ofStorePathHashPart
&mkStorePathHashPart
. - rm
unStorePathName
, please useGHC: coerce
forStorePathName <-> Text
,StorePathName
data constructor is provided.
- rm
Internal
modules now have export lists, if something, please contact.
-
Additional:
- Support of GHC 9.0 #157
System.Nix.StorePath
#157- exposed
StorePathName
data constructor to API. - added
newtype StorePathHashPart = StorePathHashPart ByteString
.- added builder
mkStorePathHashPart :: ByteString -> StorePathHashPart
- added builder
- exposed
System.Nix.Hash
#157- Nix store (which are specially truncated) hashes are now handled separately from other hashes:
- add
mkStorePathHash
- a function to create a content into Nix storepath-style hash:mkStorePathHash :: HashAlgorithm a => ByteString -> ByteString
but recommend to at once usemkStorePathHashPart
.
- add
- Nix store (which are specially truncated) hashes are now handled separately from other hashes:
0.4.3.0 2021-05-30
- Additional:
0.4.2.0 2021-03-12
- Additional:
- Cabal now properly states
tasty-discover
asbuild-tool-depends
5d03ffc - Added explicit
hie.yml
cradle description forcabal
to help Haskell Language Server to work with monorepo 5bad385 - Removed vacuous
Setup.hs
, it was throwing-off HLS, and anyway file is vacuous and gets deprecated by Cabal itself a5b7a61 - Nix dev env: removed GHC 8.6.5 support, afaik it is not even in Nixpkgs anymore cf04083
- Test suite: fixed nar test for the envs without
/proc
(test suite now works onmacOS
) 2a897ab
- Cabal now properly states
0.4.1.0 2021-01-16
- Big clean-up of dependencies.
0.4.0.0 2020-12-30
System.Nix.Hash
no longer exportsencodeBase16, decodeBase16
and theirBase32
counterparts. These were replaced byencodeInBase
anddecodeBase
functions acceptingBaseEncoding
data type #87- Support
base16-bytestring >= 1
#86 #100
0.3.0.0 -- 2020-11-29
System.Nix.Nar
changes API to support NAR format streaming:buildNarIO :: FilePath -> Handle -> IO ()
- Create a NAR from a regular filesystem object, stream it out on the HandleunpackNarIO :: Handle -> FilePath -> IO ()
- Recreate filesystem object from a NAR file accessed by the Handle
StorePath
type changed to simple variant without type level symbolic store path root.- Added
makeFixedOutputPath
toSystem.Nix.ReadonlyStore
- Added
decodeBase16
anddecodeBase32
toSystem.Nix.Hash
System.Nix.StorePath
module now providesstorePathToFilePath
andstorePathToText
helpersstorePathToNarInfo
for converting paths tonarinfo
URLsparsePath
functionpathParser
Attoparsec parser
- Added
System.Nix.Build
module - Added
System.Nix.Derivation
module - Removed
System.Nix.Util
module, moved tohnix-store-remote
- Added base64 and SHA512 hash support
0.2.0.0 -- 2020-03-12
Removed System.Nix.Store
. We may reintroduce it later when multiple backends
exist and we can tell what common effects they should share.
0.1.0.0 -- 2019-03-18
- First version.
hnix-store-core
uses PVP Versioning.