diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,5 @@
+# optics-th-0.2 (2019-10-18)
+* Add `noPrefixFieldLabels` and `noPrefixNamer` to `Optics.TH`
+
+# optics-th-0.1 (2019-09-02)
+* Initial release
diff --git a/optics-th.cabal b/optics-th.cabal
--- a/optics-th.cabal
+++ b/optics-th.cabal
@@ -1,20 +1,23 @@
 name:          optics-th
-version:       0.1
+version:       0.2
 license:       BSD3
 license-file:  LICENSE
 build-type:    Simple
 maintainer:    optics@well-typed.com
 author:        Andrzej Rybczak
-cabal-version: >=1.10
-tested-with:   ghc ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1
+cabal-version: 1.24
+tested-with:   ghc ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1, GHCJS ==8.4
 synopsis:      Optics construction using TemplateHaskell
 category:      Data, Optics, Lenses
 description:
-  This package is part of the @optics@ package family.  It provides machinery to
-  construct optics using @TemplateHaskell@.
+  This package is part of the @<https://hackage.haskell.org/package/optics optics>@
+  package family.  It provides machinery to construct optics using @TemplateHaskell@.
   .
   See the @template-haskell-optics@ package for optics to work with @template-haskell@ types.
 
+extra-doc-files:
+  CHANGELOG.md
+
 bug-reports:   https://github.com/well-typed/optics/issues
 source-repository head
   type:     git
@@ -29,8 +32,8 @@
   build-depends: base                   >= 4.9       && <5
                , containers             >= 0.5.7.1   && <0.7
                , mtl                    >= 2.2.2     && <2.3
-               , optics-core            >= 0.1       && <1
-               , template-haskell       >= 2.11      && <2.15
+               , optics-core            >= 0.2       && <0.3
+               , template-haskell       >= 2.11      && <2.16
                , th-abstraction         >= 0.2.1     && <0.4
                , transformers           >= 0.5       && <0.6
 
diff --git a/src/Optics/TH.hs b/src/Optics/TH.hs
--- a/src/Optics/TH.hs
+++ b/src/Optics/TH.hs
@@ -51,6 +51,7 @@
   , lensField
   , lensClass
   -- * Common rules
+  , noPrefixFieldLabels
   , abbreviatedFieldLabels
   , underscoreFields
   , camelCaseFields
@@ -60,6 +61,7 @@
   , FieldNamer
   , ClassyNamer
   , DefName(..)
+  , noPrefixNamer
   , underscoreNoPrefixNamer
   , lookingupNamer
   , mappingNamer
@@ -174,14 +176,14 @@
 declareFieldLabels
   = declareFieldLabelsWith
   $ fieldLabelsRules
-  & lensField .~ \_ _ n -> [TopName n]
+  & lensField .~ noPrefixNamer
 
 -- | Similar to 'makeFieldLabelsFor', but takes a declaration quote.
 declareFieldLabelsFor :: [(String, String)] -> DecsQ -> DecsQ
 declareFieldLabelsFor fields
   = declareFieldLabelsWith
   $ fieldLabelsRulesFor fields
-  & lensField .~ \_ _ n -> [TopName n]
+  & lensField .~ noPrefixNamer
 
 -- Similar to 'makeFieldLabelsWith', but takes a declaration quote.
 declareFieldLabelsWith :: LensRules -> DecsQ -> DecsQ
@@ -299,14 +301,14 @@
 declareLenses
   = declareLensesWith
   $ lensRules
-  & lensField .~ \_ _ n -> [TopName n]
+  & lensField .~ noPrefixNamer
 
 -- | Similar to 'makeLensesFor', but takes a declaration quote.
 declareLensesFor :: [(String, String)] -> DecsQ -> DecsQ
 declareLensesFor fields
   = declareLensesWith
   $ lensRulesFor fields
-  & lensField .~ \_ _ n -> [TopName n]
+  & lensField .~ noPrefixNamer
 
 -- | 'declareLenses' with custom 'LensRules'.
 declareLensesWith :: LensRules -> DecsQ -> DecsQ
@@ -417,7 +419,7 @@
 declareClassy
   = declareLensesWith
   $ classyRules
-  & lensField .~ \_ _ n -> [TopName n]
+  & lensField .~ noPrefixNamer
 
 -- | Similar to 'makeClassyFor', but takes a declaration quote.
 declareClassyFor ::
@@ -425,7 +427,7 @@
 declareClassyFor classes fields
   = declareLensesWith
   $ classyRulesFor (`Prelude.lookup`classes) fields
-  & lensField .~ \_ _ n -> [TopName n]
+  & lensField .~ noPrefixNamer
 
 -- | Rules for making lenses and traversals that precompose another 'Lens'.
 classyRules :: LensRules
@@ -660,6 +662,14 @@
 ----------------------------------------
 -- Common sets of rules
 
+-- | Field rules for fields without any prefix. Useful for generation of field
+-- labels when paired with @DuplicateRecordFields@ language extension so that no
+-- prefixes for field names are necessary.
+--
+-- @since 0.2
+noPrefixFieldLabels :: LensRules
+noPrefixFieldLabels = fieldLabelsRules { _fieldToDef = noPrefixNamer }
+
 abbreviatedFieldLabels :: LensRules
 abbreviatedFieldLabels = fieldLabelsRules { _fieldToDef = abbreviatedNamer }
 
@@ -703,6 +713,14 @@
 
 ----------------------------------------
 -- Namers
+
+-- | A 'FieldNamer' that leaves the field name as-is. Useful for generation of
+-- field labels when paired with @DuplicateRecordFields@ language extension so
+-- that no prefixes for field names are necessary.
+--
+-- @since 0.2
+noPrefixNamer :: FieldNamer
+noPrefixNamer _ _ n = [TopName n]
 
 -- | A 'FieldNamer' that strips the _ off of the field name, lowercases the
 -- name, and skips the field if it doesn't start with an '_'.
