Changelog for hash-addressed-0.1.0.0

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:

writeStreaming :: ContentAddressedDirectory
    -> (forall m. MonadIO m => (ByteString -> m ()) -> m ())
    -> IO WriteResult

Added:

writeStream :: MonadIO m =>
    Directory -> Producer ByteString IO a -> m (a, WriteResult)

Removed:

writeEither :: ContentAddressedDirectory
    -> (forall m. MonadIO m => (ByteString -> m ()) -> m (Either bad good))
    -> IO (Either bad (good, WriteResult))

Added:

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