Changelog for hnix-store-core-0.7.0.0
ChangeLog
0.7.0.0 2023-11-15
-
Breaking:
- (link)
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.
- (link)
-
Additional:
- (link) NAR encoding and decoding now supports case-insensitive filesystems.
- 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). data NarOptions
has been added to configure NAR encoding and decoding. TheoptUseCaseHack
field can be used to enable or disable the case hack.- New
streamNarIOWithOptions
andrunParserWithOptions
functions have been added toSystem.Nix.Nar
to support the new configurable options.
- The "case hack" replicates the behavior of the
- (link) NAR encoding and decoding now supports case-insensitive filesystems.
0.6.1.0 2023-01-02
0.6.0.0 2022-06-06
-
Breaking:
- (link)
streamNarIO
changes type and returnsNarSource m
FilePath
can turn toNarSource m
usingdumpPath
ByteString
can turn toNarSource m
usingdumpString
- (link)
0.5.0.0 2021-06-10
-
Breaking:
System.Nix.Hash
:- (link) Migration from packages
cryptohash-
->cryptonite
:- 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
- (link) Base encoding/decoding function for hashes (digests) changed (due to changes in type system & separation of specially truncated Nix Store hasing):
encode(InBase -> DigestWith)
decode(Base -> DigestWith)
- (link) Migration from packages
- (link)
System.Nix.StorePath
:- 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:
-
(link) Support of GHC 9.0.
-
(link)
System.Nix.StorePath
:- exposed
StorePathName
data constructor to API. - added
newtype StorePathHashPart = StorePathHashPart ByteString
.- added builder
mkStorePathHashPart :: ByteString -> StorePathHashPart
- added builder
- exposed
-
(link)
System.Nix.Hash
:- 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:
-
(link) Cabal now properly states
tasty-discover
asbuild-tool-depends
. -
(link) added explicit
hie.yml
cradle description forcabal
to help Haskell Language Server to work with monorepo. -
(link) rm vacuous
Setup.hs
, it was throwing-off HLS, and anyway file is vacuous and gets deprecated by Cabal itself. -
(link) Nix dev env: removed GHC 8.6.5 support, afaik it is not even in Nixpkgs anymore.
-
(link) Test suite: fixed nar test for the envs without
/proc
(test suite now works onmacOS
).
-
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.