diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,369 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to the [Package Versioning Policy (PVP)](https://pvp.haskell.org/).
+
+## *Unreleased*
+
+## [0.10.1.0] - 2025-11-03
+
+### Changed
+- Updated dependency on tar ^>= 0.7
+
+## [0.10.0.0] - 2025-09-09
+
+### Added
+- Comprehensive CHANGELOG.md with complete project history
+- Descriptive error messages for workspace test failures
+- Sum type `WorkspacePolicy` to replace boolean blindness in `workspaceWithConfig`
+
+### Changed
+- `workspaceWithConfig` now uses `WorkspacePolicy` instead of `Bool` parameter
+- Improved error messages in workspace tests with specific failure contexts
+- Updated documentation to reference Package Versioning Policy (PVP) instead of SemVer
+
+## [0.9.0.0] - 2025-06-24
+
+### Changed
+- Fix hanging problem with moduleWorkspace
+
+### Added
+- Workspace behavior tests and improved workspace API
+- Directory dependency to test suite
+- GHC 9.8 to GHA build matrix
+- Claude IDE command templates for git operations
+
+### Fixed  
+- Preserve workspace directories on test failure for debugging
+
+## [0.8.0.0] - 2025-06-14
+
+### Added
+- New `testUnitIO` function
+
+### Changed
+- Make binDist search components recursively
+
+### Removed
+- Delete unused 'h' file
+
+## [0.7.2.0] - 2025-06-07
+
+### Added
+- MonadAssertion instance to UnitIO
+
+## [0.7.1.0] - 2025-06-06
+
+### Added
+- New assertion functions: `tryAssertion`, `assertFailure` and `assertFailure_`
+- Re-export MonadBaseControl, bracket_ and bracket
+
+## [0.7.0.0] - 2024-12-24
+
+### Added
+- Add `expectFailure` combinator
+- Add `expectFailureWith` combinator and tests
+- New UnitIO monad
+- Thread safe golden test support
+- Add diffVsGoldenFileExcludeTrace function
+- Re-export Golden module from Test module
+- Move orphans to own file
+
+### Changed
+- Generalize resulting monad in `expectFailure`
+- Define `expectFailure` in terms of `expectFailureWith`
+- Haskell CI: reduce number of shellcheck warnings
+- Haskell CI: simplify build workflow, using cardano-cli's CI as guidance
+- Loosen base version, to allow building with GHC 9.12
+- Align haddock pipeline with Haskell pipeline
+- Make the GitHub page workflow manually triggerable (workflow_dispatch)
+
+### Fixed
+- Fix haddock for `threadDelay`
+- Fix haddock for `byDeadline` and `byDuration`
+- Process: more informative error message when plan.json does not exist
+- Detail: fix a warning in the Haskell pipeline
+
+## [0.6.5.1] - 2024-11-20
+
+### Changed
+- Enforce UTF-8 encoding on reading and writing files
+
+## [0.6.5.0] - 2024-07-27
+
+### Added
+- Make it build with ghc-9.10
+- CI: Add ghc-9.10 to the build matrix
+
+## [0.6.4.0] - 2024-05-16
+
+### Added
+- Add missing `HasCallStack` to writeGoldenFile, reportGoldenFileMissing, checkAgainstGoldenFile
+
+### Changed
+- Use removePathForcibly to remove directories
+
+## [0.6.3.0] - 2024-05-03
+
+### Added
+- Add TestWatchdog and Tripwire with their tests
+- Add test for asyncRegister_
+
+### Changed
+- Switch to using haskell-actions/setup
+- Allow the port to be reused immediately after it is closed
+
+## [0.6.2.0] - 2024-04-23
+
+### Added
+- New randomPort, reserveRandomPort and portInUse functions
+
+### Changed
+- Apply suggestions from code review
+- Remove double space and add quotes
+
+## [0.6.1.0] - 2024-02-13
+
+### Added
+- Add test to ensure a directory doesn't exist (`assertDirectoryMissing`)
+- Add test to ensure a directory exists (`assertDirectoryExists`)
+
+### Changed
+- Allow reading files into any FromJSON
+- Lower aeson bound
+- #39 Lower bound on aeson
+- Remove double printing of a command with its arguments
+
+## [0.6.0.2] - 2024-01-29
+
+### Fixed
+- Fix missing call sites for short-circuiting functions
+
+## [0.6.0.1] - 2024-01-23
+
+### Fixed
+- Fix missing stderr in failed commands
+
+## [0.6.0.0] - 2024-01-16
+
+### Added
+- Add exec variant that allows a negative call (#55)
+- Add concurrency abstractions from lifted-async and lifted-base
+
+## [0.5.1.0] - 2024-01-04
+
+### Added
+- New RECREATE_GOLDEN_FILES which will causes golden tests to always create golden files replacing any existing golden files
+
+### Changed
+- Use MultiwayIf to simplify code
+
+## [0.5.0.0] - 2023-11-23
+
+### Added
+- Add upper bound to tar
+
+### Changed
+- Make it build with ghc-9.8
+- CI: Add ghc-9.8.1 to build matrix
+
+### Removed
+- Remove unused import
+
+## [0.4.8.0] - 2023-11-21
+
+### Changed
+- Make it build with ghc-9.8
+- CI: Add ghc-9.8.1 to build matrix
+
+### Removed
+- Remove unused import
+
+## [0.4.7.1] - 2023-10-05
+
+### Removed
+- Remove dependency on hw-aeson
+
+## [0.4.7.0] - 2023-06-27
+
+### Added
+- New indexM function
+
+## [0.4.6.0] - 2023-06-19
+
+### Added
+- Add a way to log golden files
+- Create new process groups for newly spawned processes (#42)
+
+## [0.4.5.1] - 2023-05-10
+
+### Fixed
+- Fix empty case for diffVsGoldenFile
+
+### Changed
+- Put the golden-file filename in the failure message of diffVsGoldenFile
+
+## [0.4.5.0] - 2023-05-09
+
+### Added
+- New downloadToFile function
+- New downloadAndExtractGithubCommitToTemp
+
+### Fixed
+- Fix annotation for renameFile
+
+## [0.4.4.1] - 2023-05-05
+
+### Added
+- Make it build with ghc-9.6
+- CI: Add ghc-9.6.1 to build matrix
+
+## [0.4.4.0] - 2023-05-04
+
+### Added
+- Add extra assertion functions, fix readM to show correct line (#33)
+
+### Changed
+- Tidy up imports
+
+## [0.4.3.0] - 2023-05-03
+
+### Added
+- Add assertWithinTolerance and readM
+
+## [0.4.2.0] - 2023-04-28
+
+### Added
+- New functions assertFileExists assertFileMissing assertFilesMissing
+- New Hedgehog.Extras.Test.Golden module
+
+### Removed
+- Delete assertFileExists from Network module because it doesn't belong here
+
+### Changed
+- Use filepath operator (</>) over (<>) with "/"
+
+## [0.4.1.0] - 2023-04-12
+
+### Added
+- New Ok versions of functions that require the operation to succeed
+- New createSubdirectoryIfMissing function
+
+### Changed
+- Modify createDirectoryIfMissing to return its argument. createDirectoryIfMissing_ will be the version that returns ()
+
+### Fixed
+- Fix compile errors
+
+## [0.4.0.1] - 2023-03-06
+
+### Fixed
+- Fix retry function
+
+## [0.4.0.0] - 2023-03-06
+
+### Changed
+- Pass retry count to retry function
+
+## [0.3.0.3] - 2023-01-09
+
+### Fixed
+- Fix moduleWorkspace
+
+## [0.3.0.2] - 2023-01-07
+
+### Added
+- Generic instance
+
+## [0.3.0.1] - 2023-01-07
+
+### Changed
+- Don't create an intermediate workspace directory
+- Find the nearest plan.json
+- Restructure cabal file
+- Update copyright
+- Copy over waitNamedPipe from Win32-network
+
+### Removed
+- Remove unused dependency on Win32-network
+
+### Fixed
+- Use setup-haskell action
+
+## [0.3.0.0] - 2022-12-13
+
+### Added
+- Add errorMessage to argument of deadline functions
+- getProjectBase: explore up the dir hierarchy to find cabal.project
+- New fromJustM function
+- Add .gitignore file
+
+### Changed
+- Update GH actions versions
+- Relax bounds on aeson
+
+## Early Versions (0.1.0.0 - 0.2.x)
+
+### 2022
+- New rewriteArrayElements function
+- Update to support aeson >= 2.0.0 (#8)
+- Replace waitByDeadlineX functions to byDeadlineX functions that trigger retries by assertion failure (#7)
+- Add retry support (#6)
+
+### 2021
+- Module re-exports (#5)
+- Generic error handling functions (#4)
+- New exec, binFlex functions. New execConfigCwd field (#3)
+- Add support for YAML (#2)
+- Force evaluation of string for cat (#1)
+- Setup Github Actions CI
+- Downgrade cabal file version to 2.4 because 3.0 is incompatible with stack
+- Drop support for ghc-8.6.5
+- Harmonise component versions and remove redundant conditionals
+- Import cardano-submit-api from cardano-rest repo
+- Test support for running CLI commands with environment variables
+- Run golden tests at the value level rather than the text level
+- Update copyright to 2021
+- Cabal 3.4 in Github Actions
+
+### 2020
+- New copyRewriteJsonFile function to work around permissioning issues on Hydra
+- Remove redundant imports
+- General chairman test code quality changes
+- Chairman test running on Windows and Linux
+- Report all log files on any test failure
+- Bump versions to 1.21.0 and update the change logs
+- Run byron-shelley testnet
+- Run a chairman process per node
+- Increase test code re-use by moving test support code into separate common hedgehog-extras library
+
+[Unreleased]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.10.0.0...HEAD
+[0.10.0.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.9.0.0...v0.10.0.0
+[0.9.0.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.8.0.0...v0.9.0.0
+[0.8.0.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.7.2.0...v0.8.0.0
+[0.7.2.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.7.1.0...v0.7.2.0
+[0.7.1.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.7.0.0...v0.7.1.0
+[0.7.0.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.6.5.1...v0.7.0.0
+[0.6.5.1]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.6.5.0...v0.6.5.1
+[0.6.5.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.6.4.0...v0.6.5.0
+[0.6.4.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.6.3.0...v0.6.4.0
+[0.6.3.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.6.2.0...v0.6.3.0
+[0.6.2.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.6.1.0...v0.6.2.0
+[0.6.1.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.6.0.2...v0.6.1.0
+[0.6.0.2]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.6.0.1...v0.6.0.2
+[0.6.0.1]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.6.0.0...v0.6.0.1
+[0.6.0.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.5.1.0...v0.6.0.0
+[0.5.1.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.5.0.0...v0.5.1.0
+[0.5.0.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.4.8.0...v0.5.0.0
+[0.4.8.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.4.7.1...v0.4.8.0
+[0.4.7.1]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.4.7.0...v0.4.7.1
+[0.4.7.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.4.6.0...v0.4.7.0
+[0.4.6.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.4.5.1...v0.4.6.0
+[0.4.5.1]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.4.5.0...v0.4.5.1
+[0.4.5.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.4.4.1...v0.4.5.0
+[0.4.4.1]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.4.4.0...v0.4.4.1
+[0.4.4.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.4.3.0...v0.4.4.0
+[0.4.3.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.4.2.0...v0.4.3.0
+[0.4.2.0]: https://github.com/input-output-hk/hedgehog-extras/compare/v0.3.0.2...v0.4.2.0
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -187,7 +187,7 @@
       same "printed page" as the copyright notice for easier
       identification within third-party archives.
 
-   Copyright 2021 Input Output (Hong Kong) Ltd.
+   Copyright 2025 Input Output (Hong Kong) Ltd.
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
diff --git a/NOTICE b/NOTICE
--- a/NOTICE
+++ b/NOTICE
@@ -1,4 +1,4 @@
-Copyright 2021-2023 Input Output (Hong Kong) Ltd.
+Copyright 2021-2025 Input Output (Hong Kong) Ltd.
 
    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,73 @@
+# hedgehog-extras
+
+![Dependency Status](https://github.com/input-output-hk/hedgehog-extras/actions/workflows/cabal-outdated.yml/badge.svg)
+[![CI](https://github.com/input-output-hk/hedgehog-extras/actions/workflows/haskell.yml/badge.svg)](https://github.com/input-output-hk/hedgehog-extras/actions/workflows/haskell.yml)
+
+Supplemental library for hedgehog.
+
+## About
+
+This library provides additional utilities and helpers for working with the [Hedgehog](https://hackage.haskell.org/package/hedgehog) property-based testing framework.
+
+## Installation
+
+Add to your `package.yaml` or `.cabal` file:
+
+```yaml
+dependencies:
+  - hedgehog-extras
+```
+
+## Releasing
+
+This project has a hybrid automated/manual release flow:
+
+### Automatic Tagging (on main branch)
+
+When you push a version bump to main, CI automatically creates a git tag:
+
+1. Update [CHANGELOG.md] to include the *Unreleased* changes in the changelog for the new version.
+1. Update `hedgehog-extras.cabal` and set `version:` to the new version
+1. Commit and push to main: `git commit -m "Bump version to X.Y.Z.W" && git push origin main`
+1. CI automatically creates and pushes tag `vX.Y.Z.W`
+1. The release workflow then runs automatically
+
+### Manual Tagging
+
+Alternatively, you can manually create and push tags:
+
+1. Update `hedgehog-extras.cabal` with the new version
+2. Commit changes: `git commit -m "Release X.Y.Z.W"`
+3. Create tag: `git tag -a vX.Y.Z.W -m "Release version X.Y.Z.W"`
+4. Push both: `git push origin main && git push origin vX.Y.Z.W`
+
+### What Happens Automatically
+
+When a tag is pushed (either automatically or manually), GitHub Actions:
+- Runs the full test suite across all platforms and GHC versions
+- Validates the cabal project with `cabal check`
+- Creates source distributions (`cabal v2-sdist`)
+- **Uploads to Hackage as a candidate** (requires `HACKAGE_USER` and `HACKAGE_PASS` secrets)
+- Generates release notes from git commit history
+- Creates a GitHub Release
+
+### Publishing the Hackage Candidate
+
+After the workflow completes:
+1. Check the candidate at https://hackage.haskell.org/package/hedgehog-extras/candidates
+2. Test the candidate package
+3. When ready, publish it from the Hackage candidate page
+
+### Notes
+
+- The workflow is defined in `.github/workflows/haskell.yml`
+- Packages are uploaded as **candidates**, not published releases
+- Release notes are auto-generated from git commits since the last tag
+- The workflow requires `HACKAGE_USER` and `HACKAGE_PASS` repository secrets
+- Workflow requires `contents: write` permission (already configured)
+
+## License
+
+Copyright 2025 Input Output Global, Inc.
+
+Licensed under the Apache License, Version 2.0. See [LICENSE](LICENSE) for details.
diff --git a/hedgehog-extras.cabal b/hedgehog-extras.cabal
--- a/hedgehog-extras.cabal
+++ b/hedgehog-extras.cabal
@@ -1,7 +1,7 @@
 cabal-version: 2.4
 
 name:                   hedgehog-extras
-version:                0.10.0.0
+version:                0.10.1.0
 synopsis:               Supplemental library for hedgehog
 description:            Supplemental library for hedgehog.
 category:               Test
@@ -11,57 +11,55 @@
 license-files:          LICENSE
                         NOTICE
 build-type:             Simple
-
+extra-doc-files:        CHANGELOG.md
+                        README.md
 source-repository head
   type:                 git
   location:             https://github.com/input-output-hk/hedgehog-extras
 
-common aeson                        { build-depends: aeson                            >= 2.0.0.0                  }
-common aeson-pretty                 { build-depends: aeson-pretty                     >= 0.8.5                    }
-common async                        { build-depends: async                                                        }
-common base                         { build-depends: base                             >= 4.12       && < 4.22     }
-common bytestring                   { build-depends: bytestring                                                   }
-common containers                   { build-depends: containers                                                   }
-common deepseq                      { build-depends: deepseq                                                      }
-common Diff                         { build-depends: Diff                                                         }
-common directory                    { build-depends: directory                                                    }
-common exceptions                   { build-depends: exceptions                                                   }
-common filepath                     { build-depends: filepath                                                     }
-common generic-lens                 { build-depends: generic-lens                                                 }
-common hedgehog                     { build-depends: hedgehog                                                     }
-common hedgehog-quickcheck          { build-depends: hedgehog-quickcheck                                          }
-common http-conduit                 { build-depends: http-conduit                                                 }
-common hw-prelude                   { build-depends: hw-prelude                                                   }
-common lifted-async                 { build-depends: lifted-async                                                 }
-common lifted-base                  { build-depends: lifted-base                                                  }
-common microlens                    { build-depends: microlens                                                    }
-common mmorph                       { build-depends: mmorph                                                       }
-common monad-control                { build-depends: monad-control                                                }
-common mtl                          { build-depends: mtl                                                          }
-common network                      { build-depends: network                                                      }
-common process                      { build-depends: process                                                      }
-common resourcet                    { build-depends: resourcet                                                    }
-common retry                        { build-depends: retry                             >= 0.9                     }
-common stm                          { build-depends: stm                                                          }
-common tar                          { build-depends: tar                              ^>= 0.6                     }
-common tasty                        { build-depends: tasty                                                        }
-common tasty-discover               { build-depends: tasty-discover                   >= 5.0.2                    }
-common tasty-hedgehog               { build-depends: tasty-hedgehog                                               }
-common tasty-quickcheck             { build-depends: tasty-quickcheck                                             }
-common temporary                    { build-depends: temporary                                                    }
-common text                         { build-depends: text                                                         }
-common time                         { build-depends: time                             >= 1.9.1                    }
-common transformers                 { build-depends: transformers                                                 }
-common transformers-base            { build-depends: transformers-base                                            }
-common unliftio                     { build-depends: unliftio                                                     }
-common yaml                         { build-depends: yaml                                                         }
-common zlib                         { build-depends: zlib                                                         }
+common aeson                        { build-depends: aeson                            >= 2.0.0.0 && < 2.3         }
+common aeson-pretty                 { build-depends: aeson-pretty                     >= 0.8.5   && < 0.9         }
+common async                        { build-depends: async                                          < 2.3         }
+common base                         { build-depends: base                             >= 4.12    && < 4.22        }
+common bytestring                   { build-depends: bytestring                                     < 0.13        }
+common containers                   { build-depends: containers                                     < 0.9         }
+common deepseq                      { build-depends: deepseq                                        < 1.6         }
+common Diff                         { build-depends: Diff                                           < 1.1         }
+common directory                    { build-depends: directory                                      < 1.4         }
+common exceptions                   { build-depends: exceptions                                     < 0.11        }
+common filepath                     { build-depends: filepath                                       < 1.6         }
+common hedgehog                     { build-depends: hedgehog                                       < 1.8         }
+common hedgehog-quickcheck          { build-depends: hedgehog-quickcheck                            < 0.2         }
+common http-conduit                 { build-depends: http-conduit                                   < 2.4         }
+common lifted-async                 { build-depends: lifted-async                                   < 0.12        }
+common lifted-base                  { build-depends: lifted-base                                    < 0.3         }
+common mmorph                       { build-depends: mmorph                                         < 1.3         }
+common monad-control                { build-depends: monad-control                                  < 1.1         }
+common mtl                          { build-depends: mtl                                            < 2.4         }
+common network                      { build-depends: network                                        < 3.3         }
+common process                      { build-depends: process                                        < 1.7         }
+common resourcet                    { build-depends: resourcet                                      < 1.4         }
+common retry                        { build-depends: retry                            >= 0.9     && < 0.10        }
+common stm                          { build-depends: stm                                            < 2.6         }
+common tar                          { build-depends: tar                              >= 0.7     && < 0.8         }
+common tasty                        { build-depends: tasty                                          < 1.6         }
+common tasty-discover               { build-depends: tasty-discover                   >= 5.0.2   && < 5.3         }
+common tasty-hedgehog               { build-depends: tasty-hedgehog                                 < 1.5         }
+common tasty-quickcheck             { build-depends: tasty-quickcheck                               < 0.11        }
+common temporary                    { build-depends: temporary                                      < 1.4         }
+common text                         { build-depends: text                                           < 2.2         }
+common time                         { build-depends: time                             >= 1.9.1   && < 1.16        }
+common transformers                 { build-depends: transformers                                   < 0.7         }
+common transformers-base            { build-depends: transformers-base                              < 0.5         }
+common unliftio                     { build-depends: unliftio                                       < 0.3         }
+common yaml                         { build-depends: yaml                                           < 0.12        }
+common zlib                         { build-depends: zlib                                           < 0.8         }
 
 common hedgehog-extras              { build-depends: hedgehog-extras                                              }
 
 common Win32
   if os(windows)
-    build-depends:      Win32   >= 2.5.4.1
+    build-depends:      Win32   >= 2.5.4.1 && < 2.15
 
 common project-config
   default-language:     Haskell2010
@@ -86,13 +84,10 @@
                         directory,
                         exceptions,
                         filepath,
-                        generic-lens,
                         hedgehog,
                         http-conduit,
-                        hw-prelude,
                         lifted-async,
                         lifted-base,
-                        microlens,
                         mmorph,
                         monad-control,
                         mtl,
diff --git a/src/Hedgehog/Extras/Internal/Win32/NamedPipes.hsc b/src/Hedgehog/Extras/Internal/Win32/NamedPipes.hsc
--- a/src/Hedgehog/Extras/Internal/Win32/NamedPipes.hsc
+++ b/src/Hedgehog/Extras/Internal/Win32/NamedPipes.hsc
@@ -23,7 +23,6 @@
 import Data.String (String)
 import Foreign.C.String (withCString)
 import System.IO (IO)
-import System.Win32.File
 import System.Win32.Types hiding (try)
 
 -- | Timeout in milliseconds.
diff --git a/src/Hedgehog/Extras/Test/Base.hs b/src/Hedgehog/Extras/Test/Base.hs
--- a/src/Hedgehog/Extras/Test/Base.hs
+++ b/src/Hedgehog/Extras/Test/Base.hs
@@ -176,7 +176,7 @@
 expectFailureWith checkFailure prop = GHC.withFrozenCallStack $ do
   (res, _) <- H.evalIO $ H.runTestT prop
   case res of
-    Left failure -> checkFailure failure
+    Left e -> checkFailure e
     _ -> H.failWith Nothing "Expected the test to fail but it passed" -- Property pased but we expected a failure
 
 -- | Create a workspace directory which will exist for at least the duration of
@@ -614,8 +614,8 @@
 -- Expiration of the deadline results in an assertion failure
 assertByDeadlineIO :: (MonadTest m, MonadIO m, HasCallStack) => UTCTime -> IO Bool -> m ()
 assertByDeadlineIO deadline f = GHC.withFrozenCallStack $ do
-  success <- liftIO f
-  unless success $ do
+  succeeded <- liftIO f
+  unless succeeded $ do
     currentTime <- liftIO DTC.getCurrentTime
     if currentTime < deadline
       then do
@@ -630,8 +630,8 @@
 -- Expiration of the deadline results in an assertion failure
 assertByDeadlineM :: (MonadTest m, MonadIO m, HasCallStack) => UTCTime -> m Bool -> m ()
 assertByDeadlineM deadline f = GHC.withFrozenCallStack $ do
-  success <- f
-  unless success $ do
+  succeeded <- f
+  unless succeeded $ do
     currentTime <- liftIO DTC.getCurrentTime
     if currentTime < deadline
       then do
@@ -649,8 +649,8 @@
 -- Expiration of the deadline results in an assertion failure
 assertByDeadlineIOFinally :: (MonadTest m, MonadIO m, HasCallStack) => UTCTime -> IO Bool -> m () -> m ()
 assertByDeadlineIOFinally deadline f g = GHC.withFrozenCallStack $ do
-  success <- liftIO f
-  unless success $ do
+  succeeded <- liftIO f
+  unless succeeded $ do
     currentTime <- liftIO DTC.getCurrentTime
     if currentTime < deadline
       then do
@@ -669,8 +669,8 @@
 -- Expiration of the deadline results in an assertion failure
 assertByDeadlineMFinally :: (MonadTest m, MonadIO m, HasCallStack) => UTCTime -> m Bool -> m () -> m ()
 assertByDeadlineMFinally deadline f g = GHC.withFrozenCallStack $ do
-  success <- f
-  unless success $ do
+  succeeded <- f
+  unless succeeded $ do
     currentTime <- liftIO DTC.getCurrentTime
     if currentTime < deadline
       then do
diff --git a/src/Hedgehog/Extras/Test/Network.hs b/src/Hedgehog/Extras/Test/Network.hs
--- a/src/Hedgehog/Extras/Test/Network.hs
+++ b/src/Hedgehog/Extras/Test/Network.hs
@@ -86,7 +86,7 @@
   H.note_ $ "Downloading " <> url <> " to " <> path
   H.evalIO $ HTTP.simpleHttp url >>= LBS.writeFile path
 
-tarErrors :: TAR.GenEntries tarPath linkTarget e -> [e]
+tarErrors :: TAR.GenEntries content tarPath linkTarget e -> [e]
 tarErrors entries = TAR.foldEntries (flip const) id (:) entries []
 
 -- | Download a github commit to a temporary directory, extract it and return the path to the extracted directory.
diff --git a/src/Hedgehog/Extras/Test/Unit.hs b/src/Hedgehog/Extras/Test/Unit.hs
--- a/src/Hedgehog/Extras/Test/Unit.hs
+++ b/src/Hedgehog/Extras/Test/Unit.hs
@@ -5,7 +5,6 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE ImportQualifiedPost #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
-{-# LANGUAGE TypeApplications #-}
 {-# LANGUAGE TypeFamilies #-}
 {-# LANGUAGE UndecidableInstances #-}
 
@@ -16,19 +15,19 @@
 
 import Control.Monad.Base
 import Control.Monad.Catch (MonadCatch)
+import Control.Monad.IO.Class (MonadIO)
 import Control.Monad.Morph
 import Control.Monad.Trans.Control (MonadBaseControl(..))
 import Control.Monad.Trans.Resource
-import Data.Generics.Product.Any
 import Data.Maybe
 import Data.Monoid
-import HaskellWorks.Prelude
 import Hedgehog
 import Hedgehog.Extras.Internal.Orphans ()
 import Hedgehog.Extras.Test.MonadAssertion (MonadAssertion)
 import Hedgehog.Internal.Property qualified as H
-import Lens.Micro
+import Prelude
 import Test.Tasty.Discover
+import Test.Tasty.Discover.TastyInfo qualified as TastyInfo
 import Test.Tasty.Hedgehog (testProperty)
 
 import qualified Test.Tasty as T
@@ -49,7 +48,7 @@
 
 instance Tasty (UnitIO ()) where
   tasty info = pure . testUnitIO testName
-    where testName = fromMaybe "" $ getLast (info ^. the @"name")
+    where testName = fromMaybe "" . getLast $ TastyInfo.name info
 
 testUnitIO :: T.TestName -> UnitIO () -> T.TestTree
 testUnitIO testName =
