diff --git a/Changelog.md b/Changelog.md
new file mode 100644
--- /dev/null
+++ b/Changelog.md
@@ -0,0 +1,53 @@
+# Changelog for `proto-lens`
+
+## Unreleased changes
+
+## v0.2.2.0
+- Bump the dependency on `base` to support `ghc-8.2.1`.
+
+## v0.2.1.0
+- Include `base`'s modules in the reexport list.
+- Use custom-setup in packages that depend on `proto-lens-protoc`.
+- Allow `.proto` files to import between Haskell packages.
+- Add the `proto-lens-protobuf-types` package.
+
+## v0.2.0.1
+- Make the libraries '-Wall -Werror'-clean for the latest
+  version of GHC.
+
+## v0.2.0.0
+- Support OverloadedLabels with the new `lens-labels` package.
+- Fix codegen for field names that are already camel-cased.
+- Increase version bounds to work with Stackage lts-8.
+
+## v0.1.0.5
+- Fix the handling of packed repeated fields (#38)
+- Improve space usage and time of decoding (#63)
+- Print fields ordered by tag number (#40)
+
+## v0.1.0.4
+- Relaxed dependency constraints on data-default-class for
+new stackage LTS.
+
+## v0.1.0.3
+- In printing and parsing protocol buffers use/interpret escape
+sequences in a way compatible with the Protocol Buffer
+distribution's C/C++ escaping style, closing Issues #44 and
+#45. This makes the text output incompatible with previous
+versions; earlier versions will misinterpret text written by this
+version and this version will misinterpret text written by
+previous versions.
+- Support reading text protocol buffers with single quote characters
+(') for string delimiters, closing Issue #20.
+
+## v0.1.0.2
+- Expose more of protoc-gen-haskell to plugins.
+- Support enum aliases.
+- TextFormat prints enum names instead of numbers.
+
+## v0.1.0.1
+- Support ghc-8.
+- Handle .proto files without a "package" declaration (#11).
+
+## v0.1.0.0
+- Initial version.
diff --git a/proto-lens.cabal b/proto-lens.cabal
--- a/proto-lens.cabal
+++ b/proto-lens.cabal
@@ -1,5 +1,5 @@
 name:                proto-lens
-version:             0.2.1.0
+version:             0.2.2.0
 synopsis:            A lens-based implementation of protocol buffers in Haskell.
 description:
   The proto-lens library provides to protocol buffers using modern
@@ -20,6 +20,7 @@
 category:            Data
 build-type:          Simple
 cabal-version:       >=1.8
+extra-source-files:  Changelog.md
 
 library
   hs-source-dirs: src
@@ -32,7 +33,7 @@
                        Data.ProtoLens.Encoding.Wire
                        Data.ProtoLens.TextFormat.Parser
   build-depends:  attoparsec == 0.13.*
-                , base >= 4.8 && < 4.10
+                , base >= 4.8 && < 4.11
                 , bytestring == 0.10.*
                 , containers == 0.5.*
                 , data-default-class >= 0.0 && < 0.2
diff --git a/src/Data/ProtoLens/Message.hs b/src/Data/ProtoLens/Message.hs
--- a/src/Data/ProtoLens/Message.hs
+++ b/src/Data/ProtoLens/Message.hs
@@ -51,7 +51,11 @@
 
 -- | The description of a particular protocol buffer message type.
 data MessageDescriptor msg = MessageDescriptor
-    { fieldsByTag :: Map Tag (FieldDescriptor msg)
+    {  messageName :: T.Text
+      -- ^ A unique identifier for this type, of the format
+      -- @"packagename.messagename"@.
+    , fieldsByTag :: Map Tag (FieldDescriptor msg)
+      -- ^ The fields of the proto, indexed by their (integer) tag.
     , fieldsByTextFormatName :: Map String (FieldDescriptor msg)
       -- ^ This map is keyed by the name of the field used for text format protos.
       -- This is just the field name for every field except for group fields,
