diff --git a/CHANGES.markdown b/CHANGES.markdown
new file mode 100644
--- /dev/null
+++ b/CHANGES.markdown
@@ -0,0 +1,229 @@
+## [1.5.2](https://github.com/diagrams/diagrams-postscript/tree/v1.5.2) (2024-10-31)
+
+  - Require `data-default-0.8`
+
+## [1.5.1.1-r4](https://github.com/diagrams/diagrams-postscript/tree/v1.5.1.1-r4) (2024-08-23)
+
+  - Allow `hashable-1.5`
+
+## [1.5.1.1-r3](https://github.com/diagrams/diagrams-postscript/tree/v1.5.1.1-r3) (2024-07-02)
+
+  - Allow `base-4.20`, `lens-5.3`, and `containers-0.7`
+  - Test on GHC 9.10
+
+## [1.5.1.1-r2](https://github.com/diagrams/diagrams-postscript/tree/v1.5.1.1-r2) (2024-01-20)
+
+  - Allow `base-4.19`, `bytestring-0.12`, and test on GHC 9.8
+
+## [1.5.1.1-r1](https://github.com/diagrams/diagrams-postscript/tree/v1.5.1.1-r1) (2023-06-22)
+
+  - Allow `base-4.18` and test on GHC 9.6
+
+## [1.5.1.1](https://github.com/diagrams/diagrams-postscript/tree/v1.5.1.1) (2023-03-03)
+
+  - Support for `mtl-2.3` (thanks to @FinleyMcIlwaine)
+
+## [1.5.1](https://github.com/diagrams/diagrams-postscript/tree/v1.5.1) (2021-12-29)
+
+  - Bump upper bounds to allow:
+
+      - `base-4.16`
+      - `semigroups-0.20`
+      - `lens-5.1`
+      - `hashable-1.4`
+
+  - Add `Eq` instance for `Options Postscript` (needed for `Hashable`
+    instance).
+
+  - r1 (2022-01-03): require `diagrams-lib >= 1.4.5`
+  - r2 (2022-09-05): allow `base-4.17`, `lens-5.2`, test on GHC 9.4
+
+## [1.5](https://github.com/diagrams/diagrams-postscript/tree/v1.5) (2019-12-13)
+
+  - Make `Result Postscript V2 Double = Builder`, allowing rendering
+    in-memory.
+  - Add `Semigroup (Render Postscript V2 Double)` instance.
+  - Updated to work with GHC 8.8.  Dropped support for GHC 7.10.
+
+  Hackage revision 1 (2020-02-10):
+
+  - allow `lens-4.19`
+
+  Hackage revision 2 (2021-06-21):
+
+  - `base-4.15` (GHC 9.0)
+  - `bytestring-0.11`
+  - `diagrams-core-1.5`
+  - `monoid-extras-0.6`
+  - `lens-5.0`
+
+## [1.4](https://github.com/diagrams/diagrams-postscript/tree/v1.4) (2016-10-26)
+
+No significant changes, bumping version to correspond to diagrams 1.4
+release.
+
+  - allow `diagrams-core-1.4`
+  - allow `diagrams-lib-1.4`
+
+  Hackage revision 1:
+
+  - allow `base-4.10`
+
+## [1.3.0.7](https://github.com/diagrams/diagrams-postscript/tree/v1.3.0.7) (2016-07-20)
+
+- allow `dlist-0.8`
+
+## [1.3.0.6](https://github.com/diagrams/diagrams-postscript/tree/v1.3.0.6) (2016-05-01)
+
+- allow `base-4.9`
+- allow `data-default-class-0.1`
+- test with GHC 8.0.1
+
+[Full Changelog](https://github.com/diagrams/diagrams-postscript/compare/v1.3.0.5...v1.3.0.6)
+
+
+## [1.3.0.5](https://github.com/diagrams/diagrams-postscript/tree/v1.3.0.5) (2016-05-01)
+
+- allow `lens-4.14`
+
+[Full Changelog](https://github.com/diagrams/diagrams-postscript/compare/v1.3.0.4...v1.3.0.5)
+
+## [1.3.0.4](https://github.com/diagrams/diagrams-postscript/tree/v1.3.0.4) (2015-11-10)
+
+- allow `semigroups-0.18`
+
+[Full Changelog](https://github.com/diagrams/diagrams-postscript/compare/v1.3.0.3...v1.3.0.4)
+
+## [1.3.0.3](https://github.com/diagrams/diagrams-postscript/tree/v1.3.0.3) (2015-09-22)
+
+- allow `lens-4.13` and `semigroups-0.17`
+
+[Full Changelog](https://github.com/diagrams/diagrams-postscript/compare/v1.3.0.2...v1.3.0.3)
+
+## [v1.3.0.2](https://github.com/diagrams/diagrams-postscript/tree/v1.3.0.2) (2015-07-19)
+
+[Full Changelog](https://github.com/diagrams/diagrams-postscript/compare/v1.3.0.1...v1.3.0.2)
+
+[v1.3.0.1](https://github.com/diagrams/diagrams-postscript/tree/v1.3.0.1) (2015-05-26)
+--------------------------------------------------------------------------------------
+
+- allow `lens-4.11`
+
+1.3 (19 April 2015)
+-------------------
+
+- Require `diagrams-core-1.3` and `diagrams-lib-1.3`
+
+1.1.0.5 (2 April 2015)
+----------------------
+
+ - allow `lens-4.9`
+ - allow `vector-space-0.10`
+
+1.1.0.4 (13 Jan 2015)
+---------------------
+
+- Allow `vector-space-0.9`
+- Allow `lens-4.7`
+
+1.1.0.3 (04 Dec 2014)
+---------------------
+
+- Allow `semigroups-0.16`
+
+1.1.0.2 (17 November 2014)
+--------------------------
+
+- Allow `lens-4.6`
+
+1.1.0.1 (22 August 2014)
+------------------------
+
+    - Allow lens-4.4
+
+1.1 (28 May 2014)
+------------------
+
+    - Changes to reflect `Measure` refactoring.
+    - Allow `diagrams-core-1.2` and `diagrams-lib-1.2`
+    - Allow `semigroups-0.15`
+    - Allow `lens-4.2`
+    - Allow `mtl-2.2`
+
+1.0.2.4 (10 April 2014)
+----------------------
+
+    - Allow `semigroups-0.13`
+
+1.0.2.2 (19 March 2014)
+----------------------
+
+  - Allow `lens-4.1`
+
+1.0.2.1 (18 March 2014)
+-----------------------
+
+- Allow `dlist-0.7`
+
+1.0.2 (8 March 2014)
+--------------------
+
+* **New features**
+
+  - Experimental support for raw CMYK colors.
+
+* **Dependency/version changes**
+
+  - Allow `diagrams-core-1.1` and `diagrams-lib-1.1`.
+
+1.0.1.2 (6 February 2014)
+-------------------------
+
+- require diagrams-lib >= 1.0.1 (for Hashable SizeSpec2D instance)
+
+1.0.1.1 (30 January 2014)
+-------------------------
+
+- Work around a bug in GHC 7.4.2, which chokes when deriving Generic
+  instances for associated data types.
+
+1.0.1 (26 January 2014)
+-----------------------
+
+- Add `Hashable (Options Postscript R2)` instance
+
+1.0.0.2 (1 January 2014)
+------------------------
+
+- allow semigroups-0.12
+
+1.0.0.1 (30 November 2013)
+--------------------------
+
+- Allow dlist-0.6
+
+1.0 (25 November 2013)
+----------------------
+
+- Add support for miter limit attribute.
+- Use new command-line interface from `diagrams-lib`.
+- Export `B` as an alias for `Postscript` token.
+
+0.7.0.2 (27 September 2013)
+---------------------------
+
+* allow semigroups-0.11
+
+0.7.0.1 (15 August 2013)
+------------------------
+
+* Fix deprecation warning
+
+0.7: 9 August 2013
+------------------
+
+First release as an officially supported diagrams backend.
+
+* Simple animation support.
+* Upgrade to `monoid-extras-0.3`.
+* Allow `base-4.7`.
diff --git a/README.markdown b/README.markdown
new file mode 100644
--- /dev/null
+++ b/README.markdown
@@ -0,0 +1,76 @@
+[![Build Status](https://secure.travis-ci.org/diagrams/diagrams-postscript.png?branch=master)](http://travis-ci.org/diagrams/diagrams-postscript)
+
+_diagrams-postscript_ is a rendering backend for [diagrams], a powerful,
+flexible, declarative domain-specific language for creating vector graphics,
+using the [Haskell programming language][haskell].
+
+[diagrams]: http://projects.haskell.org/diagrams/
+[haskell]: http://www.haskell.org/haskellwiki/Haskell
+
+_diagrams-postscript_ has a simple rendering engine that outputs
+[PostScript™ language][postscript] files and is an officially supported backend
+for diagrams.
+
+[postscript]: http://www.adobe.com/products/postscript/pdfs/PLRM.pdf
+
+# Installation
+
+```
+cabal update && cabal install diagrams-postscript
+```
+
+# Basic usage
+
+A simple example that uses _diagrams-postscript_ to draw a blue circle:
+
+```haskell
+import Diagrams.Prelude
+import Diagrams.Backend.Postscript.CmdLine
+
+d = circle 1 # fc blue
+
+main = mainWith (pad 1.1 d)
+```
+
+Save this to file named `Circle.hs` and compile it:
+
+```
+ghc --make Circle.hs
+```
+
+This will generate an executable which, when run, outputs a blue
+circle to some file. Run the executable with the `--help` option to
+find out more about how to call it.
+
+```
+$ ./Circle --help
+./Circle
+
+Usage: ./Circle [-w|--width WIDTH] [-h|--height HEIGHT] [-o|--output OUTPUT]
+  Command-line diagram generation.
+
+Available options:
+  -?,--help                Show this help text
+  -w,--width WIDTH         Desired WIDTH of the output image
+  -h,--height HEIGHT       Desired HEIGHT of the output image
+  -o,--output OUTPUT       OUTPUT file
+```
+
+The output type will be automatically determined from the file
+extension.  Currently EPS and PS are supported.
+
+```
+$ ./Circle -o circle.eps -w 400
+```
+
+The command above generates an EPS file with a width of 400pt.
+
+# Advanced usage
+
+Instead of just creating a standalone executable, the postscript backend
+can also be called from within a larger program.  For more
+information, see the Diagram.Backend.Postscript module.
+
+--
+
+PostScript™ is a trademark of Adobe.
diff --git a/diagrams-postscript.cabal b/diagrams-postscript.cabal
--- a/diagrams-postscript.cabal
+++ b/diagrams-postscript.cabal
@@ -1,5 +1,5 @@
 Name:                diagrams-postscript
-Version:             1.5.1.1
+Version:             1.5.2
 Synopsis:            Postscript backend for diagrams drawing EDSL
 Description:         This package provides a modular backend for rendering
                      diagrams created with the diagrams EDSL using Postscript.
@@ -22,8 +22,9 @@
 Bug-reports:         http://github.com/diagrams/diagrams-postscript/issues
 Category:            Graphics
 Build-type:          Simple
+extra-doc-files:     README.markdown, CHANGES.markdown
 Cabal-version:       1.18
-Tested-with:         GHC ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.4 || ==9.4.1
+Tested-with:         GHC ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 || ==9.10.1
 Source-repository head
   type:     git
   location: https://github.com/diagrams/diagrams-postscript.git
@@ -34,18 +35,18 @@
                        Diagrams.Backend.Postscript.CmdLine
                        Graphics.Rendering.Postscript
   Hs-source-dirs:      src
-  Build-depends:       base >= 4.8 && < 4.18,
-                       bytestring >= 0.9 && <0.12,
+  Build-depends:       base >= 4.8 && < 4.21,
+                       bytestring >= 0.9 && <0.13,
                        mtl >= 2.0 && < 2.4,
                        diagrams-core >= 1.3 && < 1.6,
                        diagrams-lib >= 1.4.5 && < 1.5,
-                       data-default-class < 0.2,
+                       data-default >= 0.8 && < 0.9,
                        statestack >= 0.2 && < 0.4,
                        split >= 0.1.2 && < 0.3,
                        monoid-extras >= 0.3 && < 0.7,
                        semigroups >= 0.3.4 && < 0.21,
-                       lens >= 4.0 && < 5.3,
-                       containers >= 0.3 && < 0.7,
-                       hashable >= 1.1 && < 1.5
+                       lens >= 4.0 && < 5.4,
+                       containers >= 0.3 && < 0.8,
+                       hashable >= 1.1 && < 1.6
 
   default-language:    Haskell2010
diff --git a/src/Diagrams/Backend/Postscript/CMYK.hs b/src/Diagrams/Backend/Postscript/CMYK.hs
--- a/src/Diagrams/Backend/Postscript/CMYK.hs
+++ b/src/Diagrams/Backend/Postscript/CMYK.hs
@@ -28,7 +28,7 @@
   ) where
 
 import           Control.Lens          (Setter', sets, (.~))
-import           Data.Default.Class
+import           Data.Default
 import           Data.Maybe            (fromMaybe)
 import           Data.Monoid.Recommend
 import           Data.Semigroup
