|
| 1 | +# Next |
| 2 | + |
| 3 | +* Changes: |
| 4 | + * Constructors of `StorePathName` and `StorePathHashPart` are no longer |
| 5 | + exported. Use respective `mkStorePath..` functions. [#230](https://github.com/haskell-nix/hnix-store/pull/230) |
| 6 | + * `StorePathSet` type alias is no more, use `HashSet StorePath` [#230](https://github.com/haskell-nix/hnix-store/pull/230) |
| 7 | + |
| 8 | +* Additions: |
| 9 | + * Added `Arbitrary` instances for (exported by default) [#230](https://github.com/haskell-nix/hnix-store/pull/230) |
| 10 | + * `StorePath` |
| 11 | + * `StorePathName` |
| 12 | + * `StorePathHashPart` |
| 13 | + * `StoreDir` |
| 14 | + |
| 15 | +# [0.7.0.0](https://github.com/haskell-nix/hnix-store/compare/core-0.6.1.0...core-0.7.0.0) 2023-11-15 |
| 16 | + |
| 17 | +* Changes: |
| 18 | + * `StorePath` no longer carries `storePathRoot` field and we |
| 19 | + have a stand-alone `StoreDir` type instead to be used instead of `FilePath` |
| 20 | + when store root directory is needed as a context [#216](https://github.com/haskell-nix/hnix-store/pull/216) |
| 21 | + |
| 22 | +* Fixes: |
| 23 | + * NAR encoding and decoding now supports case-insensitive filesystems [#218](https://github.com/haskell-nix/hnix-store/pull/218) |
| 24 | + * The "case hack" replicates the behavior of the `use-case-hack` option in Nix, which adds a suffix to conflicting filenames. |
| 25 | + This feature is enabled by default on macOS (darwin). |
| 26 | + |
| 27 | +* Additions: |
| 28 | + * `data NarOptions` has been added to configure NAR encoding and decoding. The `optUseCaseHack` field can be used to enable or disable the case hack [#218](https://github.com/haskell-nix/hnix-store/pull/218) |
| 29 | + * New `streamNarIOWithOptions` and `runParserWithOptions` functions have been added to `System.Nix.Nar` to support the new configurable options [#218](https://github.com/haskell-nix/hnix-store/pull/218) |
| 30 | + |
| 31 | +# [0.6.1.0](https://github.com/haskell-nix/hnix-store/compare/core-0.6.0.0...core-0.6.1.0) 2023-01-02 |
| 32 | + |
| 33 | +* Fixes: |
| 34 | + |
| 35 | + * NAR serialization compatibility (symlinks, directory symlinks, UTF-8 handling) [#201](https://github.com/haskell-nix/hnix-store/pull/201) [#203](https://github.com/haskell-nix/hnix-store/pull/203) |
| 36 | + |
| 37 | +# [0.6.0.0](https://github.com/haskell-nix/hnix-store/compare/core-0.5.0.0...core-0.6.0.0) 2022-06-06 |
| 38 | + |
| 39 | +* Breaking: |
| 40 | + |
| 41 | + * `streamNarIO` changes type and returns `NarSource m` [#177](https://github.com/haskell-nix/hnix-store/pull/177) |
| 42 | + * `FilePath` can turn to `NarSource m` using `dumpPath` |
| 43 | + * `ByteString` can turn to `NarSource m` using `dumpString` |
| 44 | + |
| 45 | +# [0.5.0.0](https://github.com/haskell-nix/hnix-store/compare/0.4.3.0...core-0.5.0.0) 2021-06-10 |
| 46 | + |
| 47 | +* Breaking: |
| 48 | + |
| 49 | + * `System.Nix.Hash`: |
| 50 | + * Migration from packages `cryptohash-` -> `cryptonite` [#157](https://github.com/haskell-nix/hnix-store/pull/157/commits/97146b41cc87327625e02b81971aeb2fd7d66a3f) |
| 51 | + * rm `newtype Digest` in favour of `cryptonite: newtype Digest` |
| 52 | + * rm `data HashAlgorithm` in favour of `cryptonite: class HashAlgorithm` |
| 53 | + * rm `class ValidAlgo` in favour of `cryptonite: class HashAlgorithm`. |
| 54 | + * `class NamedAlgo` removed `hashSize` in favour of `cryptonite: class HashAlgorithm: hashDigestSize`. Former became a subclass of the latter. |
| 55 | + * rm `hash` in favour of `cryptonite: hash` |
| 56 | + * rm `hashLazy` in favour of `cryptonite: hashlazy` |
| 57 | + * Base encoding/decoding function for hashes (digests) changed (due to changes in type system & separation of specially truncated Nix Store hasing) [#157](https://github.com/haskell-nix/hnix-store/pull/157/commits/2af74986de8aef1a13dbfc955886f9935ca246a3) |
| 58 | + * `encode(InBase -> DigestWith)` |
| 59 | + * `decode(Base -> DigestWith)` |
| 60 | + * `System.Nix.StorePath` [#157](https://github.com/haskell-nix/hnix-store/pull/157/commits/2af74986de8aef1a13dbfc955886f9935ca246a3) |
| 61 | + * rm `type StorePathHashAlgo = 'Truncated 20 'SHA256` in favour of `StorePathHashPart` & `mkStorePathHashPart`. |
| 62 | + * rm `unStorePathName`, please use `GHC: coerce` for `StorePathName <-> Text`, `StorePathName` data constructor is provided. |
| 63 | + * `Internal` modules now have export lists, if something, please contact. |
| 64 | + |
| 65 | +* Additional: |
| 66 | + |
| 67 | + * Support of GHC 9.0 [#157](https://github.com/haskell-nix/hnix-store/pull/157/commits/97146b41cc87327625e02b81971aeb2fd7d66a3f) |
| 68 | + * `System.Nix.StorePath` [#157](https://github.com/haskell-nix/hnix-store/pull/157/commits/2af74986de8aef1a13dbfc955886f9935ca246a3) |
| 69 | + * exposed `StorePathName` data constructor to API. |
| 70 | + * added `newtype StorePathHashPart = StorePathHashPart ByteString`. |
| 71 | + * added builder `mkStorePathHashPart :: ByteString -> StorePathHashPart` |
| 72 | + * `System.Nix.Hash` [#157](https://github.com/haskell-nix/hnix-store/pull/157/commits/2af74986de8aef1a13dbfc955886f9935ca246a3) |
| 73 | + * Nix store (which are specially truncated) hashes are now handled separately from other hashes: |
| 74 | + * add `mkStorePathHash` - a function to create a content into Nix storepath-style hash: |
| 75 | + `mkStorePathHash :: HashAlgorithm a => ByteString -> ByteString` |
| 76 | + but recommend to at once use `mkStorePathHashPart`. |
| 77 | + |
| 78 | +# [0.4.3.0](https://github.com/haskell-nix/hnix-store/compare/0.4.2.0...0.4.3.0) 2021-05-30 |
| 79 | + |
| 80 | +* Additional: |
| 81 | + * `System.Nix.ReadonlyStore`: add a readonly `computeStorePathForPath` [b85f7c8](https://github.com/haskell-nix/hnix-store/commit/b85f7c875fe6b0bca939ffbcd8b9bd0ab1598aa0) |
| 82 | + * `System.Nix.ReadonlyStore`: `computeStorePathForPath`: force SHA256 as it's the only valid choice [db71ece](https://github.com/haskell-nix/hnix-store/commit/db71ecea3109c0ba270fa98a9041a8556e35217f) |
| 83 | + * `makeTextPath`: order the references [5fddf3c](https://github.com/haskell-nix/hnix-store/commit/5fddf3c66ba1bcabb72c4d6b6e09fb41a7acd62c) |
| 84 | + |
| 85 | +# [0.4.2.0](https://github.com/haskell-nix/hnix-store/compare/0.4.1.0...0.4.2.0) 2021-03-12 |
| 86 | + |
| 87 | +* Additional: |
| 88 | + * Cabal now properly states `tasty-discover` as `build-tool-depends` [5d03ffc](https://github.com/haskell-nix/hnix-store/commit/5d03ffc4cde9448df05e84838ece70cc83b1b6c) |
| 89 | + * Added explicit `hie.yml` cradle description for `cabal` to help Haskell Language Server to work with monorepo [5bad385](https://github.com/haskell-nix/hnix-store/commit/b5ad38573d27e0732d0fadfebd98de1f753b4f07) |
| 90 | + * Removed vacuous `Setup.hs`, it was throwing-off HLS, and anyway file is vacuous and gets deprecated by Cabal itself [a5b7a61](https://github.com/haskell-nix/hnix-store/commit/a5b7a614c0e0e11147a93b9a197c2a443afa3244) |
| 91 | + * Nix dev env: removed GHC 8.6.5 support, afaik it is not even in Nixpkgs anymore [cf04083](https://github.com/haskell-nix/hnix-store/commit/cf04083aba98ad40d183d1e26251101816cc07ae) |
| 92 | + * Test suite: fixed nar test for the envs without `/proc` (test suite now works on `macOS`) [2a897ab](https://github.com/haskell-nix/hnix-store/commit/2a897ab581c0501587ce04da6d6e3a6f543b1d72) |
| 93 | + |
| 94 | + |
| 95 | +# [0.4.1.0](https://github.com/haskell-nix/hnix-store/compare/0.4.0.0...0.4.1.0) 2021-01-16 |
| 96 | + |
| 97 | +* Big clean-up of dependencies. |
| 98 | + |
| 99 | +# [0.4.0.0](https://github.com/haskell-nix/hnix-store/compare/0.3.0.0...0.4.0.0) 2020-12-30 |
| 100 | + |
| 101 | +* `System.Nix.Hash` no longer exports `encodeBase16, decodeBase16` and their `Base32` counterparts. |
| 102 | + These were replaced by `encodeInBase` and `decodeBase` functions |
| 103 | + accepting `BaseEncoding` data type [#87](https://github.com/haskell-nix/hnix-store/pull/87) |
| 104 | +* Support `base16-bytestring >= 1` [#86](https://github.com/haskell-nix/hnix-store/pull/86) [#100](https://github.com/haskell-nix/hnix-store/pull/100) |
| 105 | + |
| 106 | +# 0.3.0.0 -- 2020-11-29 |
| 107 | + |
| 108 | +* `System.Nix.Nar` changes API to support NAR format streaming: |
| 109 | + * `buildNarIO :: FilePath -> Handle -> IO ()` - Create a NAR from a regular filesystem object, stream it out on the Handle |
| 110 | + * `unpackNarIO :: Handle -> FilePath -> IO ()` - Recreate filesystem object from a NAR file accessed by the Handle |
| 111 | +* `StorePath` type changed to simple variant without type level |
| 112 | +symbolic store path root. |
| 113 | +* Added `makeFixedOutputPath` to `System.Nix.ReadonlyStore` |
| 114 | +* Added `decodeBase16` and `decodeBase32` to `System.Nix.Hash` |
| 115 | +* `System.Nix.StorePath` module now provides |
| 116 | + * `storePathToFilePath` and `storePathToText` helpers |
| 117 | + * `storePathToNarInfo` for converting paths to `narinfo` URLs |
| 118 | + * `parsePath` function |
| 119 | + * `pathParser` Attoparsec parser |
| 120 | +* Added `System.Nix.Build` module |
| 121 | +* Added `System.Nix.Derivation` module |
| 122 | +* Removed `System.Nix.Util` module, moved to `hnix-store-remote` |
| 123 | +* Added base64 and SHA512 hash support |
| 124 | + |
| 125 | +# 0.2.0.0 -- 2020-03-12 |
| 126 | + |
| 127 | +Removed `System.Nix.Store`. We may reintroduce it later when multiple backends |
| 128 | +exist and we can tell what common effects they should share. |
| 129 | + |
| 130 | +# 0.1.0.0 -- 2019-03-18 |
| 131 | + |
| 132 | +* First version. |
0 commit comments