0.1.0.0 (2023-01-31)
----------------------------------------------------------------
### HashFunction
`HashFunction` type is no longer opaque; any hash function can be supported.
The type is now a newtype for `Fold` from the `gambler` library.
### Directory
Renamed `ContentAddressedDirectory` to `Directory`
`Directory` constructor is now exported
Removed `init` function, which is redundant to `Directory` constructor
### Pipes
Now using the `pipes` library to express streams.
Removed:
```haskell
writeStreaming :: ContentAddressedDirectory
-> (forall m. MonadIO m => (ByteString -> m ()) -> m ())
-> IO WriteResult
```
Added:
```haskell
writeStream :: MonadIO m =>
Directory -> Producer ByteString IO a -> m (a, WriteResult)
```
Removed:
```haskell
writeEither :: ContentAddressedDirectory
-> (forall m. MonadIO m => (ByteString -> m ()) -> m (Either bad good))
-> IO (Either bad (good, WriteResult))
```
Added:
```haskell
writeExcept :: (MonadIO m, MonadError abort m) =>
Directory
-> Producer ByteString (ExceptT abort IO) commit
-> m (commit, WriteResult)
```
### WriteResult
Renamed field from `contentAddressedFile` to `hashAddressedFile`
0.0.1.0 (2023-01-27)
----------------------------------------------------------------
Add `HashAddressed.Directory.writeEither`
0.0.0.0 (2023-01-27)
----------------------------------------------------------------
Initial release