diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,59 @@
+## 0.8.1
+* Simplify `Setup.hs` to support `Cabal-2.0`/GHC 8.2
+* Properly link `store_load_barrier` and friends against the GHC RTS on Windows
+  when using GHC 8.2 or later
+
+## 0.8.0.4
+* Internal changes to support forthcoming GHC 8.0
+
+## 0.8
+* Implements additional fetch primops available in GHC 7.10
+
+## 0.7
+* This release adds support for GHC 7.10 and its expanded library of (now inline) primops.
+
+## 0.6.1
+* This is a good version to use for GHC 7.8.3.  It includes portability and bug fixes
+  and adds atomicModifyIORefCAS.
+
+## 0.6.0.5
+* fix for GHC 7.8
+
+## 0.6.0.1
+* minor ghc 7.8 fix
+
+## 0.6
+* add atomicModifyIORefCAS, and bump due to prev bugfixes
+
+## 0.5.0.2
+* IMPORTANT BUGFIXES - don't use earlier versions.  They have been marked deprecated.
+
+## 0.5
+* Nix Data.Atomics.Counter.Foreign and the bits-atomic dependency.
+
+## 0.4.1
+* Add advance support for GHC 7.8
+
+## 0.4
+* Further internal changes, duplicate 'cas' routine well as barriers.
+* Add `fetchAddByteArrayInt`
+* Add an `Unboxed` counter variant that uses movable "ByteArray"s on the GHC heap.
+
+## 0.3
+* Major internal change.  Duplicate the barrier code from the GHC RTS and thus
+  enable support for executables that are NOT built with '-threaded'.
+
+## 0.2.2.1
+* Minor, add warning.
+
+## 0.2.2
+* Add more counters
+
+## 0.2
+* Critical bugfix and add Counter.
+
+## 0.1.0.2
+* disable profiling
+
+## 0.1.0.0
+* initial release
diff --git a/Data/Atomics.hs b/Data/Atomics.hs
--- a/Data/Atomics.hs
+++ b/Data/Atomics.hs
@@ -448,7 +448,7 @@
 
 -- GHC 7.8 consistently exposes these symbols while linking:
 
-#if MIN_VERSION_base(4,7,0) && !defined(mingw32_HOST_OS)
+#if MIN_VERSION_base(4,7,0) && !(defined(mingw32_HOST_OS) && __GLASGOW_HASKELL__ < 802)
 #warning "Assuming that store_load_barrier and friends are defined in the GHC RTS."
 
 -- | Memory barrier implemented by the GHC rts (see SMP.h).
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,29 +1,2 @@
-
-import Control.Monad (when)
-import Language.Haskell.TH
-import Distribution.Simple                (defaultMainWithHooks, simpleUserHooks, UserHooks(postConf), Args)
-import Distribution.Simple.Utils          (cabalVersion)
-import Distribution.Simple.LocalBuildInfo
-import Distribution.Simple.Setup          (ConfigFlags)
-import Distribution.Version               (Version(..))
-import Distribution.PackageDescription    (PackageDescription)
-import Debug.Trace
-
--- I couldn't figure out a way to do this check from the cabal file, so we drop down
--- here to do it instead:
-checkGoodVersion :: IO ()
-checkGoodVersion =
-  if   cabalVersion >= Version [1,17,0] []
-  then putStrLn (" [Setup.hs] This version of Cabal is ok for profiling: "++show cabalVersion)
-  else error (" [Setup.hs] This package should not be used in profiling mode with cabal version "++
-                        show (versionBranch cabalVersion)++" < 1.17.0\n"++
-                        " It will break, see cabal issue #1284")
-
-main :: IO ()
-main = do
-  let myPostConf :: Args -> ConfigFlags -> PackageDescription -> LocalBuildInfo -> IO ()
-      myPostConf _args confFlags _descr lbi =
-        when (withProfLib lbi)
-          checkGoodVersion
-      hooks = simpleUserHooks { postConf = myPostConf }
-  defaultMainWithHooks hooks
+import Distribution.Simple
+main = defaultMain
diff --git a/atomic-primops.cabal b/atomic-primops.cabal
--- a/atomic-primops.cabal
+++ b/atomic-primops.cabal
@@ -1,42 +1,16 @@
 Name:                atomic-primops
-Version:             0.8.0.4
+Version:             0.8.1
 License:             BSD3
 License-file:        LICENSE
 Author:              Ryan Newton
 Maintainer:          rrnewton@gmail.com
 Category:            Data
 -- Portability:         non-portabile (x86_64)
-Build-type:          Custom
--- TODO: This requirement needs to be bumped to 1.17 when the latest cabal is
--- released.  This package triggers issue #1284:
--- Cabal-version:       >=1.18
-Cabal-version:       >=1.10
--- Egad!  Requiring cabal version 1.18 triggers a seemingly spurious failure on Mac OS:
--- http://tester-lin.soic.indiana.edu:8080/job/Haskell-LockFree_master/JENKINS_GHC=7.6.3,label=macos/346/console
--- So for now I'm backing off about the cabal requirement.  Setup.hs will catch it later IF an early version
--- of cabal is used WITH profiling mode.
-
+Build-type:          Simple
+Cabal-version:       >=1.18
 HomePage: https://github.com/rrnewton/haskell-lockfree/wiki
 Bug-Reports: https://github.com/rrnewton/haskell-lockfree/issues
 
--- Version History:
--- 0.1.0.0 -- initial release
--- 0.1.0.2 -- disable profiling
--- 0.2 -- Critical bugfix and add Counter.
--- 0.2.2 -- Add more counters
--- 0.2.2.1 -- Minor, add warning.
--- 0.3 -- Major internal change.  Duplicate GHC RTS barriers and support non -threaded.
--- 0.4 -- Duplicate 'cas' as well as barriers.  Add fetchAdd on ByteArray, Counter.Unboxed.
--- 0.4.1 -- Add advance support for GHC 7.8
--- 0.5 -- Nix Data.Atomics.Counter.Foreign and the bits-atomic dependency.
--- 0.5.0.2 -- IMPORTANT Bugfix release.
--- 0.6 -- add atomicModifyIORefCAS, and bump due to prev bugfixes
--- 0.6.0.1 -- minor ghc 7.8 fix
--- 0.6.0.5 -- fix for GHC 7.8
--- 0.6.1   -- several bug fixes, mainly re: platform portability
--- 0.8     -- support for GHC 7.10 and several new primops
--- 0.8.0.4 -- support for GHC 8.0 series
-   
 Synopsis: A safe approach to CAS and other atomic ops in Haskell.
 
 Description:
@@ -53,47 +27,8 @@
   Note that as of GHC 7.8, the relevant primops have been included in GHC itself.
   This library is engineered to work pre- and post-GHC-7.8, while exposing the
   same interface.
- .
- Changes in 0.3:
- .
- * Major internal change.  Duplicate the barrier code from the GHC RTS and thus
-   enable support for executables that are NOT built with '-threaded'.
- .
- Changes in 0.4:
- .
- * Further internal changes, duplicate 'cas' routine well as barriers.
- .
- * Add `fetchAddByteArrayInt`
- .
- * Add an `Unboxed` counter variant that uses movable "ByteArray"s on the GHC heap.
- .
- Changes in 0.5:
- .
- * Remove dependency on bits-atomic unless a flag is turned on.
- .
- Changes in 0.5.0.2:
- .
- * IMPORTANT BUGFIXES - don't use earlier versions.  They have been marked deprecated.
- .
- Changes in 0.6.1
- .
- * This is a good version to use for GHC 7.8.3.  It includes portability and bug fixes
-   and adds atomicModifyIORefCAS.
- .
- Changes in 0.7:
- .
- * This release adds support for GHC 7.10 and its expanded library of (now inline) primops.
- .
- Changes in 0.8:
- .
- * Implements additional fetch primops available in GHC 7.10
- .
- Changes in 0.8.0.4:
- .
- * Internal changes to support forthcoming GHC 8.0
 
- 
-Extra-Source-Files:  DEVLOG.md,
+Extra-Source-Files:  CHANGELOG.md, DEVLOG.md,
                      testing/Test.hs, testing/test-atomic-primops.cabal, testing/ghci-test.hs
                      testing/Makefile, testing/CommonTesting.hs, testing/Counter.hs, testing/CounterCommon.hs, testing/hello.hs
                      testing/Issue28.hs
@@ -114,7 +49,7 @@
 
   -- casMutVar# had a bug in GHC 7.2, thus we require GHC 7.4 or greater
   -- (base 4.5 or greater). We also need the "Any" kind.
-  build-depends:     base >= 4.6.0.0 && < 4.10, ghc-prim, primitive
+  build-depends:     base >= 4.6.0.0 && < 4.11, ghc-prim, primitive
 
   -- TODO: Try to push support back to 7.0, but make it default to an implementation
   -- other than Unboxed.
