Changelog for hash-addressed-0.2.0.1

0.2.0.1 (2023-02-09)

Corrections and improvements to readme.md

0.2.0.0 (2023-02-08)

Change type of stream parameter in writeExcept from

Producer ByteString (ExceptT abort IO) commit

to

``haskell Producer ByteString IO (Either abort commit)


The new version is equivalent (via the `ExceptT` constructor) to

``haskell
ExceptT abort (Producer ByteString IO) commit

and so what this change is doing is reversing the order of the monad transformers. The overall result is the same, but the new version seems slightly easier to work with.

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