Changelog for hnix-store-core-0.8.0.0
0.8.0.0 2024-07-31
-
Changes:
System.Nix.StorePath.makeStorePathNamerenamed toSystem.Nix.StorePath.mkStorePathNameSystem.Nix.ReadOnlyStoremoved tohnix-store-readonlypackage and renamed toSystem.Nix.Store.ReadOnly#247System.Nix.Nar*moved tohnix-store-narpackage #247Arbitraryinstances moved tohnix-store-testspackage #241System.Nix.Internalnamespace was removed #236StorePathMetadataconverted toMetadata a#231- Moved to
System.Nix.StorePath.Metadata#236
- Moved to
- Constructors of
StorePathNameandStorePathHashPartare no longer exported. Use respectivemkStorePath..functions. #230 StorePathconstructor is no longer exported. PreferparsePathorparsePathFromText. If needed to construct a path directly, useunsafeMakeStorePath#247StorePathSettype alias is no more, useHashSet StorePath#230makeStorePathandparsePathnow returnsEither InvalidPathError StorePath#231BuildResultstimesBuildfield changes type fromIntegertoInt#231
-
Additions:
System.Nix.Store.TypeswithFileIngestionMethod,PathFilter,RepairModetypes #247FileIngestionMethodwas previously calledNarHashModeSystem.Nix.StorePath.parsePathFromText#236Default StoreDirinstance #231System.Nix.StorePath.storePathHashPartToText#231- Added
GenericandShowinstances forSignatureandNarSignature#231 - Added
EqandOrdinstances forSomeNamedDigest#231 BuildStatusgrowsNoSubstitutersandResolvesToAlreadyValidconstructors #231InvalidPathErrorreplacing previous stringy error #231- Added
Arbitraryinstances for (exported by default) #230StorePathStorePathNameStorePathHashPartStoreDir
- Added
Arbitraryinstances for #231BuildModeBuildStatusBuildResultDerivation StorePath TextDerivationOutput StorePath Text
0.7.0.0 2023-11-15
-
Changes:
StorePathno longer carriesstorePathRootfield and we have a stand-aloneStoreDirtype instead to be used instead ofFilePathwhen 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-hackoption 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 NarOptionshas been added to configure NAR encoding and decoding. TheoptUseCaseHackfield can be used to enable or disable the case hack #218 * NewstreamNarIOWithOptionsandrunParserWithOptionsfunctions have been added toSystem.Nix.Narto support the new configurable options #218
0.6.1.0 2023-01-02
0.6.0.0 2022-06-06
-
Breaking:
streamNarIOchanges type and returnsNarSource m#177FilePathcan turn toNarSource musingdumpPathByteStringcan turn toNarSource musingdumpString
0.5.0.0 2021-06-10
-
Breaking:
System.Nix.Hash:- Migration from packages
cryptohash-->cryptonite#157- 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
- 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 '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:
- Support of GHC 9.0 #157
System.Nix.StorePath#157- exposed
StorePathNamedata 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 -> 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:
- Cabal now properly states
tasty-discoverasbuild-tool-depends5d03ffc - Added explicit
hie.ymlcradle description forcabalto 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.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.
hnix-store-core uses PVP Versioning.