Changelog for hnix-store-core-0.7.0.0
ChangeLog
0.7.0.0 2023-11-15
-
Breaking:
- (link)
StorePathno longer carriesstorePathRootfield and we have a stand-aloneStoreDirtype instead to be used instead ofFilePathwhen 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-hackoption in Nix, which adds a suffix to conflicting filenames. This feature is enabled by default on macOS (darwin). data NarOptionshas been added to configure NAR encoding and decoding. TheoptUseCaseHackfield can be used to enable or disable the case hack.- New
streamNarIOWithOptionsandrunParserWithOptionsfunctions have been added toSystem.Nix.Narto 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)
streamNarIOchanges type and returnsNarSource mFilePathcan turn toNarSource musingdumpPathByteStringcan turn toNarSource musingdumpString
- (link)
0.5.0.0 2021-06-10
-
Breaking:
System.Nix.Hash:- (link) Migration from packages
cryptohash-->cryptonite:- rm
newtype Digestin favour ofcryptonite: newtype Digest - rm
data HashAlgorithmin favour ofcryptonite: class HashAlgorithm - rm
class ValidAlgoin favour ofcryptonite: class HashAlgorithm. class NamedAlgoremovedhashSizein favour ofcryptonite: class HashAlgorithm: hashDigestSize. Former became a subclass of the latter.- rm
hashin favour ofcryptonite: hash - rm
hashLazyin 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 'SHA256in favour ofStorePathHashPart&mkStorePathHashPart. - rm
unStorePathName, please useGHC: coerceforStorePathName <-> Text,StorePathNamedata constructor is provided.
- rm
Internalmodules now have export lists, if something, please contact.
-
Additional:
-
(link) Support of GHC 9.0.
-
(link)
System.Nix.StorePath:- exposed
StorePathNamedata 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 -> ByteStringbut 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-discoverasbuild-tool-depends. -
(link) added explicit
hie.ymlcradle description forcabalto 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.Hashno longer exportsencodeBase16, decodeBase16and theirBase32counterparts. These were replaced byencodeInBaseanddecodeBasefunctions acceptingBaseEncodingdata type #87- Support
base16-bytestring >= 1#86 #100
0.3.0.0 -- 2020-11-29
System.Nix.Narchanges 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
StorePathtype changed to simple variant without type level symbolic store path root.- Added
makeFixedOutputPathtoSystem.Nix.ReadonlyStore - Added
decodeBase16anddecodeBase32toSystem.Nix.Hash System.Nix.StorePathmodule now providesstorePathToFilePathandstorePathToTexthelpersstorePathToNarInfofor converting paths tonarinfoURLsparsePathfunctionpathParserAttoparsec parser
- Added
System.Nix.Buildmodule - Added
System.Nix.Derivationmodule - Removed
System.Nix.Utilmodule, 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.