diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,9 @@
+Version 2.2
+-----------
+
+* Add support for new PlaneAngle and SolidAngle dimensions, thanks
+to @gittywithexcitement.
+
 Version 2.1.0.1
 ---------------
 
diff --git a/Data/Dimensions/SI.hs b/Data/Dimensions/SI.hs
--- a/Data/Dimensions/SI.hs
+++ b/Data/Dimensions/SI.hs
@@ -26,6 +26,19 @@
 declareDimension "AmountOfSubstance"
 declareDimension "LuminousIntensity"
 
+-- | A plane angle is dimensionless; alternatively, it has dimension
+-- length/length. It would be wrong to divide 2 meters by 1
+-- meter and conclude that the quantity is 2 radians or degrees. To make
+-- plane angle safe to use, we define it as a fundamental dimension.
+declareDimension "PlaneAngle"
+
+-- | As we did for plane angle, we must make solid angle a fundamental
+-- dimension to avoid programming mistakes.
+-- 
+-- A solid angle is a measure of the amount of the field of view from some
+-- particular point that a given object covers.
+declareDimension "SolidAngle"
+
 type Area                = Length            :^ Two
 type Volume              = Length            :^ Three
 type Velocity            = Length            :/ Time
@@ -36,7 +49,7 @@
 type SpecificVolume      = Volume            :/ Mass
 type CurrentDensity      = Current           :/ Area
 type MagneticStrength    = Current           :/ Length
-type Concentration       = AmountOfSubstance          :/ Volume
+type Concentration       = AmountOfSubstance        :/ Volume
 type Luminance           = LuminousIntensity        :/ Area
 
 type Frequency           = Time              :^ MOne
@@ -58,3 +71,4 @@
 type CatalyticActivity   = AmountOfSubstance :/ Time
 
 type Momentum            = Mass              :* Velocity
+type AngularVelocity     = PlaneAngle        :/ Time
diff --git a/Data/Metrology/SI/Mono.hs b/Data/Metrology/SI/Mono.hs
--- a/Data/Metrology/SI/Mono.hs
+++ b/Data/Metrology/SI/Mono.hs
@@ -38,3 +38,5 @@
 type instance DefaultUnitOfDim D.Temperature       = Kelvin
 type instance DefaultUnitOfDim D.AmountOfSubstance = Mole
 type instance DefaultUnitOfDim D.LuminousIntensity = Lumen
+type instance DefaultUnitOfDim D.PlaneAngle        = Radian
+type instance DefaultUnitOfDim D.SolidAngle        = Steradian
diff --git a/Data/Metrology/SI/MonoTypes.hs b/Data/Metrology/SI/MonoTypes.hs
--- a/Data/Metrology/SI/MonoTypes.hs
+++ b/Data/Metrology/SI/MonoTypes.hs
@@ -26,6 +26,8 @@
 type Temperature         = MkQu_D D.Temperature
 type AmountOfSubstance   = MkQu_D D.AmountOfSubstance
 type LuminousIntensity   = MkQu_D D.LuminousIntensity
+type PlaneAngle          = MkQu_D D.PlaneAngle
+type SolidAngle          = MkQu_D D.SolidAngle
 
 type Area                = MkQu_D D.Area
 type Volume              = MkQu_D D.Volume
@@ -57,3 +59,4 @@
 type Kerma               = MkQu_D D.Kerma
 type CatalyticActivity   = MkQu_D D.CatalyticActivity
 type Momentum            = MkQu_D D.Momentum
+type AngularVelocity     = MkQu_D D.AngularVelocity
diff --git a/Data/Metrology/SI/Poly.hs b/Data/Metrology/SI/Poly.hs
--- a/Data/Metrology/SI/Poly.hs
+++ b/Data/Metrology/SI/Poly.hs
@@ -36,4 +36,6 @@
                   , (D.Temperature, Kelvin)
                   , (D.AmountOfSubstance, Mole)
                   , (D.LuminousIntensity, Lumen)
+                  , (D.PlaneAngle, Radian)
+                  , (D.SolidAngle, Steradian)
                   ]
diff --git a/Data/Metrology/SI/PolyTypes.hs b/Data/Metrology/SI/PolyTypes.hs
--- a/Data/Metrology/SI/PolyTypes.hs
+++ b/Data/Metrology/SI/PolyTypes.hs
@@ -25,6 +25,8 @@
 type Temperature         = MkQu_DLN D.Temperature
 type AmountOfSubstance   = MkQu_DLN D.AmountOfSubstance
 type LuminousIntensity   = MkQu_DLN D.LuminousIntensity
+type PlaneAngle          = MkQu_D D.PlaneAngle
+type SolidAngle          = MkQu_D D.SolidAngle
 
 type Area                = MkQu_DLN D.Area
 type Volume              = MkQu_DLN D.Volume
@@ -56,3 +58,4 @@
 type Kerma               = MkQu_DLN D.Kerma
 type CatalyticActivity   = MkQu_DLN D.CatalyticActivity
 type Momentum            = MkQu_DLN D.Momentum
+type AngularVelocity     = MkQu_DLN D.AngularVelocity
diff --git a/Data/Units/SI.hs b/Data/Units/SI.hs
--- a/Data/Units/SI.hs
+++ b/Data/Units/SI.hs
@@ -31,6 +31,7 @@
 import Data.Metrology.TH
 import Data.Dimensions.SI
 import Data.Units.SI.Prefixes ( Kilo, Centi )
+import Data.Constants.Math (piR)
 
 import Language.Haskell.TH ( Name )
 
@@ -61,6 +62,10 @@
 declareCanonicalUnit "Mole"    [t| AmountOfSubstance |]              (Just "mol")
 declareCanonicalUnit "Candela" [t| LuminousIntensity |]              (Just "cd")
 
+-- | The two angular dimensions that must be fundamental dimensions.
+declareCanonicalUnit "Radian"     [t| PlaneAngle |]                  (Just "rad")
+declareCanonicalUnit "Steradian"  [t| SolidAngle |]                  (Just "sr")
+
 declareDerivedUnit "Hertz"     [t| Number :/ Second |]          1    (Just "Hz")
 
 -- | This is not in the SI standard, but is used widely.
@@ -90,6 +95,14 @@
 declareDerivedUnit "Sievert"   [t| (Meter :^ Two) :/ (Second :^ Two) |] 1     (Just "Sv")
 declareDerivedUnit "Katal"     [t| Mole :/ Second |]                    1     (Just "kat")
 
+-- Non-SI units accepted for use with SI 
+-- (https://en.wikipedia.org/wiki/International_System_of_Units#Non-SI_units_accepted_for_use_with_SI)
+declareDerivedUnit "Degree"       [t| Radian |]       (piR / 180)           (Just "deg")
+-- This should be printed as /'/ but Text.Parse.Units.mkSymbolTable says that's illegal.
+declareDerivedUnit "Arcminute"    [t| Degree |]       (1 / 60)              (Just "arcminute")
+-- This should be printed as /"/ but Text.Parse.Units.mkSymbolTable says that's illegal.
+declareDerivedUnit "Arcsecond"    [t| Arcminute |]    (1 / 60)              (Just "arcsecond")
+
 -- | Derived SI unit
 declareDerivedUnit "Hectare"   [t| Meter :^ Two |]                      10000 (Just "ha")
 
@@ -107,6 +120,7 @@
   [ ''Meter, ''Gram, ''Second, ''Minute, ''Hour, ''Ampere
   , ''Kelvin, ''Mole, ''Candela, ''Hertz, ''Liter, ''Newton, ''Pascal
   , ''Joule, ''Watt, ''Coulomb, ''Volt, ''Farad, ''Ohm, ''Siemens
-  , ''Weber, ''Tesla, ''Henry, ''Lumen, ''Lux, ''Becquerel, ''Gray
-  , ''Sievert, ''Katal, ''Hectare, ''Ton
+  , ''Weber, ''Tesla, ''Henry, ''Lumen, ''Radian, ''Lux, ''Becquerel, ''Gray
+  , ''Sievert, ''Katal, ''Degree, ''Arcminute
+  , ''Arcsecond,''Hectare, ''Ton
   ]
diff --git a/units-defs.cabal b/units-defs.cabal
--- a/units-defs.cabal
+++ b/units-defs.cabal
@@ -1,11 +1,11 @@
 name:           units-defs
-version:        2.1.0.1
+version:        2.2
 cabal-version:  >= 1.10
 synopsis:       Definitions for use with the units package
 homepage:       http://github.com/goldfirere/units-defs
 category:       Physics
-author:         Richard Eisenberg <rae@cs.brynmawr.edu>, Takayuki Muranushi <muranushi@gmail.com>
-maintainer:     Richard Eisenberg <rae@cs.brynmawr.edu>, Takayuki Muranushi <muranushi@gmail.com>
+author:         Richard Eisenberg <rae@richarde.dev>, Takayuki Muranushi <muranushi@gmail.com>
+maintainer:     Richard Eisenberg <rae@richarde.dev>, Takayuki Muranushi <muranushi@gmail.com>
 bug-reports:    https://github.com/goldfirere/units-defs/issues
 stability:      experimental
 extra-source-files: README.md, CHANGES.md
@@ -22,7 +22,7 @@
 source-repository this
   type:     git
   location: https://github.com/goldfirere/units-defs.git
-  tag:      v2.1.0.1
+  tag:      v2.2
 
 library
   build-depends:      
